var xhr= new XMLHttpRequest();
xhr.open('GET', 'x.html', true);
xhr.onreadystatechange= function() {
if (this.readyState!==4) return;
if (this.status!==200) return; // or whatever error handling you want
document.getElementById('y').innerHTML= this.responseText;
};
xhr.send();
如果您需要IE〈8兼容性,请先执行以下操作以使这些浏览器达到最高速度:
if (!window.XMLHttpRequest && 'ActiveXObject' in window) {
window.XMLHttpRequest= function() {
return new ActiveXObject('MSXML2.XMLHttp');
};
}
8条答案
按热度按时间jmp7cifd1#
哇,从所有关于框架推广的回答中,你可能会认为这是JavaScript让它变得难以置信的困难。
如果您需要IE〈8兼容性,请先执行以下操作以使这些浏览器达到最高速度:
请注意,使用脚本将内容加载到页中会使该内容对没有JavaScript的客户端(如搜索引擎)不可见。请小心使用,如果您只想将数据放入公共共享文件中,请考虑使用服务器端包含。
w8f9ii692#
jQuery
.load()
方法:kpbwa7wx3#
使用提取
获取需要接收http或https链接,这意味着它不能在本地工作。
注意:正如Altimus Prime所说,这是现代浏览器的一项功能
jpfvwuh44#
2021年
thiagola 92的答案有两个可能的变化。
1.异步等待-如果首选
1.内部文本上的insertAdjacentHTML(更快)
woobm2wo5#
我建议使用现有的JS库。它们可以确保兼容性,因此您可以快速启动和运行。jQuery和DOJO都非常棒。例如,要想在jQuery中完成您要做的事情,应该是这样的:
xfyts7mz6#
6ie5vjzr7#
过去有一种方法可以实现这一点,但它被从规范中删除,随后也从浏览器中删除(例如Chrome在Chrome 70中删除了它)。它被称为
HTML imports
,最初是Web组件规范的一部分。目前,人们正在开发一个替代品来取代这个明显缺乏平台的特性,这个特性将被称为
HTML modules
。这里是the explainer,这里是这个特性的Chrome platform status。目前还没有指定这个特性何时登陆的里程碑。语法很可能类似于以下内容:
解决HTML模块的剩余问题我认为可能需要相当长的时间,因此在此之前,您唯一可行的选择是
fetch
来完成工作(这可能导致性能体验不太理想)。我们已经有了JSON modules和CSS module scripts(这两个功能也严重缺失了很长时间)。
ahy6op9u8#
http://www.boutell.com/newfaq/creating/include.html
这将解释如何编写您自己的客户端inlcude,但jQuery是一个非常非常容易的选择...另外,无论如何,您将通过使用jQuery获得更多