假设我有一个包含50个网页的网站。每页包含
不使用
我需要在这50个页面的每一个中为这5个部分中的每个部分添加代码(HTML标记)吗? “Code Once,Use Again& Again”这个词怎么了?另外如果我想改变任何东西,我需要在50个地方改变它。这只是简化。我可以这样使用吗。
<object type="text/html" height="100%" width="100%" data="header.html"></object>
请原谅我的愚蠢问题。学习硬道!
答案 0 :(得分:4)
我需要在这50个页面的每一个中为这5个部分中的每个部分添加代码(HTML标记)吗?
是
“Code Once,Use Again&amp; Again”这个词怎么了?
你拒绝了在HTML中实现这一切的所有技术(好吧,除非你算从头开始编写自己的模板引擎(没有第三方工具)并在构建时运行它而不是按需(没有服务器端代码),或者使用JavaScript(这是疯狂的))。
我可以这样使用吗?
<object type="text/html" height="100%" width="100%" data="header.html"></object>
这实际上是<iframe>
,只是功能更少,浏览器支持更少。
答案 1 :(得分:2)
您描述了服务器端语言的确切用例。
让我用你的方法解释你的问题。如果您以这种方式建立自己的网站,通过index.html
或object
添加iframe
以及其他5个部分,这将意味着向您的服务器发出6个请求(当然不是好的做法)。
事情会发生这样:
index.html
header.html
和其他四个相反,您可以只请求index.php
(如果您使用PHP),让PHP构建 ONE HTML资源(可能包括其他PHP文件,如header.php
)并将其发送到浏览器,它将很乐意显示它。
您不必破坏您的学习顺序,仅为此特定目的使用一些小部件(根本只使用一个命令)。要灵活,你会发现它在这项业务中非常有用:)。
举个例子:
的index.php
<!DOCTYPE html>
<html>
...
<body>
<?php include 'header.php'; ?>
<?php include 'navigation.php'; ?>
...
<?php include 'footer.php'; ?>
</body>
</html>
在PHP文件中,您只能使用简单的HTML,只有文件扩展名会有所不同。要编写PHP命令,可以使用<?php whatever ?>
答案 2 :(得分:1)
您还可以通过组合不同的部分来实现目标,这意味着您将标题写在一个文件中,导航到另一个文件,内容到第三个文件,然后将它们组合到实际的网页中。 (基本上制作自己的模板引擎)。如(在UNIX中)
cat header.html navigation.html body1.html > page1.html
不是理想的解决方案,但这样你只需要改变一次。但是对于任何真实的东西,已经建议的服务器端脚本通常是最好的选择。
答案 3 :(得分:0)
如果您不想使用服务器端编程(这是为了您而构建的),您唯一的选择是在运行时填充公共元素的AJAX调用。
然而,这不会提供非常好的用户体验,因为页面在完成加载后会慢慢加载。
你真的应该使用服务器端编程。
答案 4 :(得分:0)
一个常见的解决方案是服务器端包含(SSI),它允许您在多个页面(包括其他内容)中包含一个html标记块。如果您使用的是PHP,请务必考虑PHP包括:http://www.w3schools.com/php/php_includes.asp。