我有5个.html页面。我为每个页面都有相同的导航。有什么办法可以在某个地方设置一个包含导航代码的变量,然后在我的每个文档中引用该变量吗?
我想这样做,因为如果我想编辑导航,我可以返回并编辑1个源(变量),而不是从每个文档进行编辑。
答案 0 :(得分:1)
是的,这是使用像PHP这样的服务器端语言。您只需在一个页面中保存导航,在主页面中只需编写:
<?php include 'navigation.html' ?>
答案 1 :(得分:1)
纯HTML(不含JavaScript)无法在其自身的另一个页面中加载。但是,您可以使用PHP,SHTML或JavaScript获取另一个页面并将其加载到页面中。
<强> PHP 强>
确保您的HTML文件已使用.php扩展名重命名。然后,您可以在要添加HTML文件的位置添加以下行:
<?php include('some_file_name.html'); ?>
只要存在some_file_name
,该页面就会加载到PHP标记所在的位置。
<强> SHTML 强>
确保您的HTML文件已使用.shtml扩展名重命名。然后,您可以在要添加HTML文件的位置添加以下行:
<!--#include virtual="some_file_name.html" -->
同样,只要some_file_name
存在,页面就会在页面中加载。请务必注意间距,尤其是第二个短划线与#
之间的距离,因为如果有空格,代码行将会中断。
<强>的JavaScript 强>
使用JavaScript的另一方面是您可以将HTML文件保存为.html文件。但是,需要更多代码才能加载包含的文件:
<script src="jquery.js"></script>
<script>
$(function(){
$("#includeThis").load("some_file_name.html");
});
</script>
...
<div id="includeThis"></div>
这将创建一个函数,该函数将加载some_file_name.html
的div includeThis
所在的位置。这包含更多开销,但您可以保留.html文件扩展名。
答案 2 :(得分:0)
您可能希望使用服务器端脚本语言(如ASP.NET或PHP)或使用模板(shtml)来支持在服务器端执行此操作。或者,您可以使用Javascript在客户端执行此操作,如上面的一位评论者所示,但在服务器端执行操作是最有效的方法。