如何才能将页面的HTML加载到IFRAME中,而不会自动触发页面上所有css,脚本,图像,视频的下载?
或者你可以在DOM“准备就绪”的那一刻得到一个事件..当初始HTML加载时没有更多。
答案 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。