有什么方法可以阻止将特定 HTML 元素创建到 IFrame 中吗?
我没有使用 JQuery,但我不介意使用它。
我的基本代码如下:
<iframe id="id_frame_01" src="somepage"></iframe>
<script type="text/javascript>
frame = document.getElementById('id_frame_01').contentWindow.document;
frame.onload = function(){
var toremove = frame.getElementsByTagName('iframe');
toremove.outerHTML = '';
toremove = frame.getElementsByTagName('object');
toremove.outerHTML = '';
}
</script>
我拥有对 iframe 内容的完全访问权限,但如果我尝试在 onload 事件后手动删除元素,则 onload 事件会超出范围,并且(示例)YouTube 视频将开始播放。
我知道要删除的元素的 ID,但我不想使用它们,因为网站“更新”可能会破坏系统。 相反,我更喜欢按元素类型进行过滤。
这是一个特定于浏览器的页面,仅限 Chrome。
有没有办法将 onchange 事件附加到未创建的元素?
有没有办法拦截元素的加载?
最佳答案
您可以使用 ajax(或带有 jQuery 的 $.ajax),而不是直接在 iframe 中加载页面。这将允许您过滤页面 html 并仅注入(inject)您希望用户看到的内容。
您说您拥有对 iframe 内容的完全访问权限,因此我假设您的实现遵循 same origin policy .
关于javascript - 阻止来自 Iframe 的任意元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15313344/