2014-09-19 79 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