将 HTML 文件内容加载到 Div \[不使用 iframe\]

新手上路,请多包涵

我很确定这是一个常见的问题,但我对 JS 很陌生,并且遇到了一些麻烦。

我想在不使用 iframe 的情况下将 x.html 加载到 id 为“y”的 div 中。我已经尝试了一些东西,四处搜索,但我找不到合适的解决方案来解决我的问题。

如果可能的话,我更喜欢 JavaScript 中的东西。

提前谢谢大家!

原文由 MapWeb 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 637
1 个回答

哇,从所有框架推广的答案来看,你会认为这是 JavaScript 变得异常困难的事情。事实并非如此。

 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 兼容性,请首先执行此操作以加快这些浏览器的速度:

 if (!window.XMLHttpRequest && 'ActiveXObject' in window) {
    window.XMLHttpRequest= function() {
        return new ActiveXObject('MSXML2.XMLHttp');
    };
}

请注意,使用脚本将内容加载到页面将使该内容对没有可用 JavaScript 的客户端(例如搜索引擎)不可见。小心使用,如果您只想将数据放在一个公共共享文件中,请考虑服务器端包含。

原文由 bobince 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题