2013-07-17 43 views
0

我正在寫一個greasemonkey腳本來瀏覽鏈接列表,並在新標籤中打開它們(對所有鏈接重複使用相同的新標籤),但我無法弄清楚如何等待頁面加載加載下一個鏈接...任何eventListener我嘗試添加到新選項卡給我一個權限被拒絕的錯誤...我如何檢查新選項卡是否完全加載(或至少加載足夠的服務器已經處理請求)還是不?我嘗試了unsafeWindow,但也得到了一個否認錯誤(雖然我可能不完全理解使用...)我如何知道當我用greasemonkey打開的選項卡被加載?

作爲一個例子...這是我試過的多種事情之一...

mywin.addEventListener(DOMContentLoaded, false); 

這裏還有一個更(我不記得還有什麼我試過,因爲我刪除他們時,他們沒有工作)........

mywin.unsafeWindow.setTimeout(1000); 

我不知道爲什麼我試圖在'mywin'上設置超時時間,所以我會試着在主窗口上設置它,但即使這樣做,我仍然想知道正確的w檢查新標籤的狀態。

謝謝!

編輯:我確實設法讓setTimeout工作,但它不是最好的方法,因爲太低的設置意味着他們不會加載一個緩慢的連接,太高的設置意味着一個重大的延遲更快的連接。

所以我仍然在尋找更好的方法!

編輯:不應該(但可能)下的跨網站/跨域腳本下降,因爲所有的鏈接都放在同一個網站...

starting with 
http://www.aywas.com/message/notices/ 

the links being opened are like these 
http://www.aywas.com/message/notices/9767066/ 
http://www.aywas.com/message/notices/9765913/ 
http://www.aywas.com/message/notices/9765644/ 

編輯: 會GM_xmlhttpRequest或http-on-examine-response可能適用於此?如果是這樣,我該怎麼做?

回答

0

我找到了解決問題的辦法......奇怪的是,我無法使用時GM_openInTab創建窗口,但使用

mywin2=window.open("http://www.aywas.com/message/notices/9801049/", "my_win2"); 

允許我使用下面的代碼來檢測做加載並關閉該選項卡後,才加載足夠我的目的! (雖然上面那段代碼的'窗口標題'位似乎沒有任何作用......)

mywin2.addEventListener('load', function() { 
    mywin2.close() 
}, false); 
相關問題