【问题标题】:Stylesheets for content?内容样式表?
【发布时间】:2010-06-22 19:02:11
【问题描述】:
请原谅我的无知,因为这似乎是我现在应该知道的事情。
我知道我可以制作一个样式表,让我可以在多个使用 CSS 的页面中更改我的 CSS。我也知道您可以制作一个外部 javascript 文件,其中可能包含您想要重用的函数。但是假设我有想要在多个页面上复制的纯 HTML 内容(假设是一堆按钮或链接)。在这方面有什么类似于样式表的吗?这将允许您一次更新所有按钮/链接。
【问题讨论】:
标签:
javascript
html
stylesheet
external
spry
【解决方案1】:
试试server-side includes.
SSI 最常见的用途是将一个或多个文件的内容包含到 Web 服务器上的网页中。例如,包含每日报价的网页可以通过将以下代码放入网页文件中来包含报价:
如果您的主机允许,您也可以使用 PHP。只需将页面名称从 .html 更改为 .php 并引用标题:
<?php include "header.php" ?>
这两种方法都需要您更改文件的扩展名,因此您可能还需要use mod_rewrite 让用户仍然可以通过 .html 名称访问它。同样,如果您的主机支持它。
【解决方案2】:
这个问题并没有那么愚蠢,因为实际上 HTML 中没有任何原生功能可以做到这一点。
如果您的服务器支持,服务器端包含是您的最佳选择。如果你有 PHP,你也可以做一个<?php include "footer.html"; ?>
所有其他服务器端语言都有类似的结构。
【解决方案3】:
取决于... 我知道 Dreamweaver 对模板有一些相当高级的支持。您可以深入了解所见即所得 HTML 编辑器的手册,并熟悉它如何帮助您处理可重复的内容项。否则,正如 Simon 暗示的那样,您应该考虑学习一些服务器端技术(脚本语言如 PHP 是一个简单的选择),编写可重复的 HTML 并让脚本随时随地输出。祝你好运!
【解决方案4】:
您似乎没有使用诸如 ASP.NET 之类的服务器端技术,该技术具有可以放置这些用户控件的用户控件。
另一种方法是使用Server Side Includes like:
<!--#include virtual="header.html"-->
Grz,克里斯。
【解决方案6】:
虽然我认为 SSI 似乎是最好的主意,但如果我没有记错的话,如果您使用的是 IIS,您将不得不调整服务器上的一些设置才能使用带有 html 文件扩展名的 SSI。
虽然 SimpleCoder 的想法似乎不是最好的想法,但它是一个有趣的想法。基于这个想法,也许 json 数据而不是 xml 是最好的。我会玩这个只是为了好玩。
【解决方案7】:
如果 SSI 或 PHP 均不可用,您可以仅使用 javascript 进行:
将页面加载到隐藏的 IFRAME 中,然后抓取它(使用 innerHTML)
- 并将其移动到您需要的地方..
【解决方案8】:
除非您不关心 SEO,否则我建议您不要为此使用 javascript。
这是可能的,但这种技术可能会阻止搜索引擎正确索引您的网站。