0
我正在使用Google Chrome用戶腳本,它增強了通過Modernizr's .load()
method加載jQuery的站點。等待Modernizr從用戶腳本加載jQuery
我將使用該網站的jQuery實例,但在加載jQuery之前,userscript開始執行。
有沒有一種確定性的方法來從Greasemonkey腳本或userscript中攔截Modernizr的load()
/complete
機制?
或正在查詢window[jQuery]
/'$' in window
等唯一的解決方案?
(我試圖避免加載我自己的jQuery的實例,並使用輪詢有時候我會想念到文檔我想用mutation observers攔截第一變化。)
如何在用戶腳本中「在modernizr加載函數之前定義行」?所有modernizr代碼都在第三方網站上,其代碼我無法修改。也許我只是誤解了一些東西。 – hippietrail
就在加載modernizr腳本之前,在您的腳本中。 – wajatimur
也許我沒有說清楚,我沒有在我的用戶腳本中加載modernizr,第三方網站通過其'
'中的傳統'這聽起來像你需要等待的window.onload,當一切都已經加載的時候觸發。
文檔結束和文檔空閒都保證在整個DOM被分析後運行,這是開發人員感興趣的常見事情。如果由於某種原因,您確實需要在window.onload之後運行腳本,則可以檢查document.readystate屬性。如果它是「完整的」,那麼你可以假設已經發生了負載。如果不是,那麼你可以聽取onload。
來源
2012-11-16 18:08:14 Metagrapher
我有一種感覺,那就是該網站只有在加載jQuery後纔開始加載,但我會回去查看。謝謝... – hippietrail
我真的很好奇,這是怎麼解決你的? – Metagrapher
不幸的是,我現在只能獲得互聯網連接,此刻我還沒有回到這個位置,我的代碼仍然使用到目前爲止工作的輪詢,但它的不確定性仍然讓我感到不安。 – hippietrail