我只是尝试使用正在构建的Chrome扩展程序从DOM中删除iframe

此代码不会删除iframe

var frame = document.getElementById( "tracking" );
frame.parentNode.removeChild( frame );


我的清单文件已正确设置。我可以像这样访问页面上的其他元素:

var bg = document.getElementById( "someId" );
bg.parentNode.removeChild( bg );


为什么不能删除iframe

最佳答案

出现错误:“无法读取null的'parentNode'属性”,有几种可能性:


您的文档中没有包含所请求ID的元素。
您正在通过在文档加载过程中过早运行代码来搜索元素,然后再将其加载到DOM中。


如果它是第二项,那么您的代码要么需要移到body元素的末尾(在</body>之前),要么需要使用告诉您页面加载时的事件通知之一,例如。

如果这是一个Chrome扩展程序,那么我认为该扩展程序框架中有一些帮助可以帮助您了解文档何时完成加载。如果没有,您可以始终使用this plain javascript function 来检测文档的加载时间。

09-26 19:20