2009-08-27 85 views
5

我創建了一個Greasemonkey腳本,該腳本在螢火蟲編輯器中運行良好,Greasemonkey細節已刪除,但未嘗試將其打包爲用戶腳本。 Firefox錯誤控制檯報告說我嘗試使用的iframe是未定義的。iframe在Greasemonkey腳本中未定義

我剪了userscript跌到哪裏應該打印的iframe HTML到Firebug控制檯最小的情況下,並在Firebug的編輯器中運行時的做法,但不工作的userscript:

// ==UserScript== 
// @name   Movies 
// @include  http://*.princecharlescinema.com/* 
// @include  http://princecharlescinema.com/* 
// ==/UserScript== 

// stop script loading multiple times 
if (top !=self) return; 

var iframeHTML = window.frames['iframe2'].document.documentElement.innerHTML; 
unsafeWindow.console.log(iframeHTML); 

An example page the script is intended for

如果它的任何使用完整的腳本的要點是我收集這個iframe中的所有TD標籤,從他們那裏得到一些信息,然後再插入一些新的HTML到一些相同的TD標籤。

任何幫助,將不勝感激。

回答

0

也許你需要等待DOMFrameContentLoaded

+0

我嘗試使用長計時器,但問題不在於裏面沒有準備好iframe的一些內容,但Greasemonkey的是像個實際iframe標籤本身不存在。 – aston 2009-08-27 21:04:28

+0

測試一個長計時器並通過它的數組位置[2]識別幀,而不是它的名稱屬性使它工作。 DOMFrameContentLoaded是一個比setTimeOut更好的解決方案。 – aston 2009-08-27 23:40:15