我想在一个div中调用另一个html页面。从另一个调用另一个html文件
我尝试使用
<include file="NavigationTree.html" />
和
<? include("/starfix/pages/NavigationTree.html"); ?>
但它不工作。 我做错了什么或者我需要以其他方式做吗?
我想在一个div中调用另一个html页面。从另一个调用另一个html文件
我尝试使用
<include file="NavigationTree.html" />
和
<? include("/starfix/pages/NavigationTree.html"); ?>
但它不工作。 我做错了什么或者我需要以其他方式做吗?
您可以使用iframe
为,例如:
<iframe width="500" height="300" frameborder="no" scrolling="no" marginheight="0" marginwidth="0"
src="http://www.example.com/page.html"></iframe>
这很方便,但有缺点:它不会与外部文档共享DOM,最重要的是,它不能自动调整大小以适应iframed页面的内容。 – 2010-05-11 10:00:34
你可能要考虑使用Server Side Includes(SSI)。
你将使你的HTML代码插入一个单独的文件,如NavigationTree.html
,然后你就只需使用引用它在你的网页:
<!--#include virtual="NavigationTree.html" -->
SSI是由所有流行的Web服务器的支持,包括Apache,IIS和lighttpd。
请注意,如果您使用的是共享主机,您可能需要使用.shtml
,.stm
,或.shtm
扩展SSI工作。如果您具有对Web服务器的root访问权限,则可以轻松配置它以为任何扩展程序启用SSI,包括html
。
+1如果它在具有'.html'扩展名的页面中工作,则这比PHP方法更胜一筹。即使不这样做,最好将'html'文件添加到SSI文件类型列表中,而不是添加到PHP解析的文件类型列表中。 – 2010-05-11 10:12:23
这在纯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"); ?>
(请您向您的Web根目录的绝对路径管理)你可以也可以做一个HTTP包括:
但这是不明智的,因为它往往很慢,并在每个页面请求上生成第二个请求。
您还可以按@Daniel所述使用SSI。
不放*路径*不会*查看当前目录。它会迫使PHP通过include_path寻找包含。通常情况下'.'就在其中,但如果情况并非如此,那么将不会找到include,否则将使用错误的include。最好总是放一个明确的路径,比如'./ NavigationTree.html'。 – 2010-05-11 10:09:35
@Ignacio你是对的。我会添加该信息。 – 2010-05-11 10:10:36
你也可以使用jQuery,
例如,
<div id="yourDiv" />
<script>
$("#yourDiv").load("NameOfYourPageToReadFrom.ext #NameOfDivToReadFrom");
</script>
这使内容的“NameOfDivToReadFrom” DIV在文件名为“” NameOfYourPageToReadFrom”到当前文件加载DIV(‘yourDiv’)。
请记住将定义添加到您的html的标题部分。
例如
<head>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
...“呼叫”?如何,祈祷告诉,你是否这样做? – 2010-05-11 09:58:30