1

有没有办法阻止特定的 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 事件附加到非创建元素?

有没有办法拦截元素的加载?

4

1 回答 1

1

您可以使用 ajax(或带有 jQ​​uery 的 $.ajax),而不是直接在 iframe 中加载页面。这将允许您过滤页面 html 并仅注入您希望用户看到的内容。

您说您可以完全访问 iframe 内容,所以我假设您的实施遵循相同的来源政策

于 2013-03-10T00:12:38.417 回答