2014-09-19 80 views
0

我只是试图使用我正在构建的chrome扩展从DOM中删除iframe从dom中删除一个iframe

此代码未删除iframe

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

我的清单文件设置正确。我能够访问其他元素在页面上是这样的:

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

为什么我不能删除iframe

+0

iframe元素本身上的id =“tracking”?或者在iframe中的某些元素上?你在控制台看到什么错误? – jfriend00 2014-09-19 07:23:33

+0

@ jfriend00 id是iframe元素。错误是'“无法读取属性'parentNode'null”' – 2014-09-19 07:34:57

回答

1

出现错误:“无法读取空的特性‘parentNode’”,有几种可能:

  1. 还有就是你的文档中所请求的id的元素。
  2. 您正在通过在文档加载过程中过早运行代码来搜索它已加载到DOM中的元素。

如果是第二项,那么你的代码或者需要移动到身体元素(右</body>)之前结束,或者你需要使用事件通知,告诉你一个当页面加载如window.onload

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

+0

#2是赢家! ;)我犯了一个错误,在我试图找到它之前并没有真正加载。谢谢! – 2014-09-19 07:40:39