javascript - 处理 jQuery(document).ready 中的错误

标签 javascript jquery

我正在开发用于 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/

相关文章:

javascript - 如果文本区域包含特定字符串则

javascript - 为什么我总是得到 NaN?

Javascript:按下 'back'按钮时如何取消禁用按钮

javascript - 单击链接时如何替换文本区域中的某些文本

javascript - 生成图形图表报告

javascript - 我可以根据响应状态在 axios post 中抛出错误吗

javascript - 参数未知时的 Cypher MATCH 请求

javascript - 样式输入类型文件按钮

javascript - 从图像映射中的链接在 div 内平滑滚动

javascript - 如果值为 0,则从数组中的对象中删除属性