我只是尝试使用我正在构建的 Chrome 扩展从 DOM 中删除 iframe
。
此代码不会删除 iframe
。
var frame = document.getElementById( "tracking" );
frame.parentNode.removeChild( frame );
我的 list 文件设置正确。我可以像这样访问页面上的其他元素:
var bg = document.getElementById( "someId" );
bg.parentNode.removeChild( bg );
为什么我无法删除 iframe
?
最佳答案
出现错误:“无法读取 null 的属性‘parentNode’”,有几种可能性:
- 您的文档中不存在具有所请求 ID 的元素。
- 您正在通过在文档加载过程中过早运行代码来在元素加载到 DOM 之前搜索该元素。
如果它是第二项,那么您的代码要么需要移动到 body 元素的末尾(就在 </body>
之前),要么您需要使用一个事件通知来告诉您页面何时加载,例如如window.onload
。
如果这是一个 Chrome 扩展,那么我会假设该扩展框架中有一些帮助来了解文档何时完成加载。如果没有,您可以随时使用this plain javascript function 用于检测文档何时加载。
关于javascript - 从 dom 中删除 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25928127/