我一直在重新设计一个我几年前建立的网站,最初使用框架,所以网站使用CSS和div标签。为了使我的网页设计尽可能灵活,我希望分享共同的元素,例如页面顶部的横幅和页脚等,以便它们链接到一个公共文件 - 并更改此文件导致所有其他页面的更改。我一直在努力做到这一点,没有设置PHP或ASP等服务器端的麻烦。
我发现以下解决方案有效,但是在网上没有找到它的引用,以下解决方案的缺点是什么?
<div id="wrapper">
<div id="header"><object type="text/html" data="test.html" style="width:100%; height:100% margin:0"></object></div>
<div id="content">Individual page content here.</div></div>
test.html文件包含公共标题。
答案 0 :(得分:0)
设置某种服务器端脚本有很多好处。我能想到的第一个是HTTP请求较少,这会使页面加载速度更快。其次,它的设置非常简单,它增加了一个全新的功能世界。第三,我很少遇到<object>
元素的合法用例。
话虽如此,PHP中的一个实现可以如下所示,在index.php
文件中:
<?php require_once('header.php'); ?>
<!-- index.php content goes here! -->
<?php require_once('footer.php'); ?>
显然,您的header.php
和footer.php
文件将包含页眉和页脚模板,这些模板将包含在每个页面加载中。
这种方法大大简化了您的开发并提供了更快的用户体验。当然,您不需要使用PHP,您可以使用Python或任何其他服务器端脚本语言。我只是以它为例。
答案 1 :(得分:0)
如果您不想使用服务器端编程(也可以是CMS),SSI或本地工具(例如static site generators):
普通HTML5提供three ways to embed an HTML document in an HTML document:
embed
iframe
object
[...]但未在网上找到任何引用
HTML5规范包含example using object
:
在此示例中,使用object元素将HTML页面嵌入到另一个页面中。
<figure> <object data="clock.html"></object> <figcaption>My HTML Clock</figcaption> </figure>
缺点?那么,您感兴趣的所有用户代理都必须支持object
元素。 可能是某些消费者(例如,某些搜索引擎)没有像这样嵌入内容的索引(但讨论这是关于SO的偏离主题)。