2013-06-02 46 views
0

使用時當yepnope(其配備的缺省在Modernizr的捆綁)的上一個的GreaseMonkey userscript該@runs-at document-start使用的「n是未定義」的錯誤,整個userscript失敗,錯誤「n是未定義「,這意味着最大化」firstScript未定義「。Modernizr的/ Yepnope返回的GreaseMonkey

事實上,它指的是線路: insBeforeObj = isGeckoLTE18 ? docElement : firstScript.parentNode,

回答

0

由於DOM尚未加載的文件的GreaseMonkey啓動,這將失敗。

解決方法1:不要在Modernizr中使用yepnope,這不是強制性的。

解決方法2:在文檔結束時運行Modernizr/yepnope。這可能是你開始操縱DOM的地方,對嗎?

document.addEventListener('DOMContentLoaded', _runAtDocumentEnd, false); 

function _runAtDocumentEnd() { 

/* insert Modernizr/Yepnope library here */ 

} 

解決方法3:在文檔結束時運行。但是由於您明確希望在文檔啓動時運行它,這可能不是一個可接受的解決方法。