3ho*_*ugh 14 javascript jquery
我正在开发用于Web框架的JS,并经常与其他开发人员(通常容易出错)的jQuery代码混合使用.不幸的是,他们的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>
Run Code Online (Sandbox Code Playgroud)
不管先前发生了什么,第二个就绪块不应该执行吗?是否有一种"安全"的方式来运行jQuery(document).ready即使出现以前的错误也会运行?
编辑:由于它们是由其他作者编写并且是任意混合的,因此我无法控制/查看容易出错的块.
jve*_*ema 14
我没有尝试过这段代码,但它应该可行(至少,这个想法应该是这样).确保在jquery之后包含它,但是在任何可能有bug的脚本之前.(没必要,请参阅评论.)
var oldReady = jQuery.ready;
jQuery.ready = function(){
try{
return oldReady.apply(this, arguments);
}catch(e){
// handle e ....
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10054 次 |
| 最近记录: |