我想在div中调用另一个html页面。
我尝试使用
<include file="NavigationTree.html" />
和
<? include("/starfix/pages/NavigationTree.html"); ?>
但它不起作用。 我做错了什么或者我是否需要以其他方式做错?
答案 0 :(得分:6)
您可能需要考虑使用Server Side Includes(SSI)。
您可以将HTML代码段放入单独的文件中,例如NavigationTree.html
,然后您只需使用以下内容在网页中引用它:
<!--#include virtual="NavigationTree.html" -->
所有流行的Web服务器都支持SSI,包括Apache,IIS和lighttpd。
请注意,如果您使用的是共享主机,则可能必须使用.shtml
,.stm
或.shtm
扩展名才能使用SSI。如果您具有对Web服务器的root访问权限,则可以轻松配置它以为任何扩展启用SSI,包括html
。
答案 1 :(得分:3)
这在纯HTML中是不可能的。
前者是我以前从未见过的符号,它不是HTML,也许它适用于某些特定的服务器端模板语言。
后者是PHP。它应该工作但你需要记住include()
与服务器文件系统中的绝对路径一起工作。
您应指定相对路径:
<? include("./NavigationTree.html"); // will work if it's in the same directory ?>
或绝对的,可能看起来像这样:
<? include("/path/to/your/www/dir/starfix/pages/NavigationTree.html"); ?>
(向管理员询问您的网络根目录的绝对路径)
你也可以做一个HTTP包括:
但这是不明智的,因为它往往很慢,并在每个页面请求上生成第二个请求。
您也可以使用@Daniel概述的SSI。
答案 2 :(得分:0)
您也可以使用jQuery,
e.g。
<div id="yourDiv" />
<script>
$("#yourDiv").load("NameOfYourPageToReadFrom.ext #NameOfDivToReadFrom");
</script>
这会将'NameOfDivToReadFrom'DIV的内容放入调用文件'NameOfYourPageToReadFrom'中,放入当前文件中加载的DIV('yourDiv')。
请记住将定义添加到html的标题部分。
e.g。
<head>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
答案 3 :(得分:-2)
您可以使用iframe
,例如:
<iframe width="500" height="300" frameborder="no" scrolling="no" marginheight="0" marginwidth="0"
src="http://www.example.com/page.html"></iframe>