仅将HTML加载到IFRAME中

时间:2009-05-17 12:12:20

标签: javascript html dom iframe

如何才能将页面的HTML加载到IFRAME中,而不会自动触发页面上所有css,脚本,图像,视频的下载?

或者你可以在DOM“准备就绪”的那一刻得到一个事件..当初始HTML加载时没有更多。

4 个答案:

答案 0 :(得分:3)

没有跨浏览器的方式来做到这一点。有些浏览器会提供在加载DOM时触发的事件,例如Gecko的DOMContentLoaded

jQuery implements this functionality。我建议您使用jQuery:

$(document).ready(function () {
  // Function is called when the DOM is loaded.
});

或者检查jQuery如何实现它。请参阅jQuery source code中的bindReady功能。

答案 1 :(得分:3)

要仅获取HTML内容,请尝试使用AJAX调用。当然,这会在变量中返回内容,但您可以随后按照自己的意愿处理它。

答案 2 :(得分:2)

简短的回答是“你不能”。

Internet Explorer支持执行propriatry attribute which can prevent script,但它不是跨浏览器,不处理图像或样式表。

许多JS库实现了在the DOM is ready时触发的自定义事件 - 但浏览器并行加载资源,因此在加载所有图像和样式表之前触发该事件时,它不可能在另一个之前触发元素开始下载。

如果你真的希望在没有这些东西的情况下加载页面 - 在服务器上处理它以去除包含它们的HTML。

答案 3 :(得分:2)

将该HTML页面的“内容类型”设置为text / plain。