有没有办法阻止特定的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事件附加到非创建的元素?
有没有办法拦截元素的加载?
答案 0 :(得分:1)
您可以使用ajax(或带有jQuery的$ .ajax),而不是直接在iframe中加载页面。这将允许您过滤页面html并仅注入您希望用户看到的内容。
您说您可以完全访问iframe内容,因此我假设您的实施遵循same origin policy。