我想知道是否有办法在仅使用html的情况下在其他html中包含一些html内容?
替换PHP的
<?php include("file.php"); ?>
这可能吗?
编辑:
这引起了一些混乱,我需要的是“几乎是一个html标签”,它具有在另一个中包含html文档的功能。
答案 0 :(得分:32)
你试过了吗?
<object type="text/html" data="file.html"></object>
答案 1 :(得分:20)
它不能完全由HTML完成。 (但是,有iframe,但我不认为在这种情况下有资格。)
可以使用JavaScript完成。您通过Ajax获取另一个文件,并将其内容放在当前页面上的HTML元素中。
答案 2 :(得分:11)
我编写的库的无耻插件解决了这个问题。
https://github.com/LexmarkWeb/csi.js
<div data-include="/path/to/include.html"></div>
以上内容将采用/path/to/include.html
的内容,并将div
替换为{。}}。
答案 3 :(得分:7)
HTML没有本机包含其他内容的功能。但是,大多数Web服务器都有服务器端包含语句:
SSI in Apache
SSI in IIS
答案 4 :(得分:6)
唯一的是iframe是纯HTML。但你也可以使用javascript通过ajax获取页面并将其包含在你的dom hirarchy中
答案 5 :(得分:3)
没有这样的事情。您必须使用服务器端脚本语言或JavaScript来执行此类操作。
答案 6 :(得分:3)
是的,但您需要在配置或.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" -->
答案 7 :(得分:3)
如果您使用的是Apache,可以尝试Server Side Includes
。
答案 8 :(得分:3)
这可能是晚了几年,但这就是我做到的!
放在这一行后的第一行!
<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 -->
希望这有帮助!
答案 9 :(得分:2)
将近10年后,有些人可能对此仍然有疑问。因此,我将解释一个我们今天在2020年拥有的简单解决方案。
我总是使用jquery .load()函数,从没遇到过问题。
Exemple: ( "#content" ).load( "includes/menu.html" );
答案 10 :(得分:0)
HTML中缺少Include \ Import确实令人沮丧!
如果不支持“ PHP”,一个不错的选择是“服务器端包含(SSI)”!
几乎所有(如果不是全部)Web主机服务器都支持SSI!
<!--#include virtual="layout.html" -->
包含以上行的文件必须以“ .shtml”或“ .shtm”扩展名结尾!
浏览器本身无法执行像Include \ Import这样简单的操作,真是令人讨厌!
像php或Node.js一样,任何浏览器都应支持在HTML加载过程开始之前使用Javascript本身对html进行预处理!