我正在开发用于 Web 框架的 JS,并且经常与其他开发人员的(通常容易出错的)jQuery 代码混合在一起。不幸的是,他们的 jQuery(document).ready block 中的错误阻止了我的执行。采用以下简单示例:
<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>
第二个就绪 block 不应该不管前面发生了什么都执行吗?是否有运行 jQuery(document).ready 的“安全”方式,即使在先前出现错误的情况下也能运行?
编辑:我无法控制/查看容易出错的 block ,因为它们是由其他作者编写并任意混合的。
最佳答案
我还没有尝试过这段代码,但它应该可以工作(至少,这个想法应该是这样)。 确保将其包含在 jquery 之后,但在任何可能存在错误的脚本之前。(没有必要,请参阅评论。)
var oldReady = jQuery.ready;
jQuery.ready = function(){
try{
return oldReady.apply(this, arguments);
}catch(e){
// handle e ....
}
};
关于javascript - 处理 jQuery(document).ready 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1890512/