从另一个调用一个html文件

时间:2010-05-11 09:57:31

标签: html

我想在div中调用另一个html页面。

我尝试使用

<include file="NavigationTree.html" />

<? include("/starfix/pages/NavigationTree.html"); ?>

但它不起作用。 我做错了什么或者我是否需要以其他方式做错?

4 个答案:

答案 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>