我正在開發JS在Web框架中使用,並經常與其他開發人員(通常容易出錯)的jQuery代碼混合使用。不幸的是,他們的jQuery(document).ready塊中的錯誤阻止了我的執行。採取以下簡單示例:在jQuery中處理錯誤(文檔).ready
<script type="text/javascript">
jQuery(document).ready(function() {
nosuchobject.fakemethod(); //intentionally cause major error
});
</script>
<script type="text/javascript">
jQuery(document).ready(function() {
alert("Hello!"); //never executed
});
</script>
不應該第二個就緒塊執行,不管前面發生了什麼?是否有一種「安全」的方式來運行即使在以前的錯誤情況下也能運行的jQuery(document).ready?
編輯:我沒有控制/對易錯塊的可見性,因爲它們是由其他作者編寫的,任意混合使用。
這似乎工作得很好,無論它是在潛在有問題的腳本之前還是之後。我想我要做的就是將我準備好的塊的內容(樣本中的alert(「Hello!」))移到catch塊之後。這樣,我的就緒塊可以「自己」附加到先前就緒塊的末尾。 – 3hough 2009-12-11 20:31:04
偉大的解決方案。從來沒有想到這一點。 – 2009-12-11 20:35:07
不知道我在想什麼,但是無論它走到哪裏,只要它在
標記中,而不是在某個onload事件中,它就會起作用,因爲我們在dom負載調用之前劫持ready方法。 – jvenema 2009-12-11 21:35:51