我想知道是否有一种只使用HTML就能将一个HTML内容嵌入到另一个HTML中的方法?
这是PHP的一种替代方法。
<?php include("file.php"); ?>
这种情况是否可能?
编辑:
这引起了一些混淆,我需要的是“几乎是HTML标签”的功能,可以在另一个HTML文档中包含它。
我想知道是否有一种只使用HTML就能将一个HTML内容嵌入到另一个HTML中的方法?
这是PHP的一种替代方法。
<?php include("file.php"); ?>
这种情况是否可能?
编辑:
这引起了一些混淆,我需要的是“几乎是HTML标签”的功能,可以在另一个HTML文档中包含它。
你尝试过:
<object type="text/html" data="file.html"></object>
这不能仅通过HTML完成。(然而,有iframes可以实现,但我不认为在这种情况下它符合要求。)
可以使用JavaScript来完成。您可以通过Ajax获取另一个文件,并将其内容放置在当前页面的HTML元素中。
我写的一个库,可以无耻地打广告解决这个问题。
https://github.com/LexmarkWeb/csi.js
<div data-include="/path/to/include.html"></div>
以上代码将获取 /path/to/include.html
的内容,并用它替换 div
。
唯一的方法就是使用纯HTML的iframe。但你也可以使用JavaScript通过ajax获取页面并将其包含到你的DOM层次结构中。
是的,但您需要在配置文件或.htaccess中启用它:
Options +Includes
AddType text/html .shtml
AddHandler server-parsed .shtml
.shtml
...或者您可以使用以下方法:Options +Includes
AddType text/html .html
AddHandler server-parsed .html
语法本身类似于注释:
<!--#include virtual="/footer.html" -->
这是不可能的。您需要使用服务器端脚本语言或JavaScript来完成此类操作。
<SCRIPT LANGUAGE="JavaScript" src="http://yourdomain.com/header.js">
然后创建一个名为 "header.js" 的文件,并输入您想要包含的文件内容!就像这样...
<!-- Begin
document.write('<center>');
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>');
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>');
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>');
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>');
document.write('<hr>');
document.write('</center>');
// End -->
时至今日,近10年过去了,有些人可能仍然对此存在疑虑。因此,我将解释一个简单的解决方案,该方案在2020年已经成熟可行。
我一直使用jquery的.load()函数,并且从未遇到问题。
Exemple: ( "#content" ).load( "includes/menu.html" );
seamless
属性,用于iframes(https://html.spec.whatwg.org/#attr-iframe-seamless),但目前对它的支持非常糟糕:http://caniuse.com/#feat=iframe-seamless - waldyrious