【问题标题】:jQuery Breaks My PagejQuery 打破了我的页面
【发布时间】:2016-07-11 04:37:13
【问题描述】:

我使用 asp.net 和一堆 jquery 代码编写了一个页面,以自动化页面上交互的不同部分。

每当 jquery 由于某种原因失败时,页面的其余部分就会停止正常运行。点击事件停止运行,选择触发器停止运行,复选框触发器停止触发。

我是否需要将每个 jquery 函数包装在 try catch 块中以避免这种情况,或者解决此问题的最佳做法是什么?

【问题讨论】:

  • 您是否将 jQuery 代码包装在 $(function() {});堵塞?这样,在页面准备好之前,它不会尝试连接您的 jQuery 代码。
  • 是的,大部分代码都包含在函数中。我正在尝试使用模块化设计并将代码拆分为自己的文件

标签: javascript jquery asp.net


【解决方案1】:

一个简单的谷歌搜索会给你一些博客文章来开始,比如javascript error handling

然后就是挑选不同的意见并找出最适合您的情况的问题。就个人而言,我首先尝试通过防御性编码来避免发生异常。如果无法避免可能的异常并且用户可以对其执行某些操作(例如重试),那么我将在代码中处理该点的特定异常。如果它是一个意外异常并且它会使应用程序处于损坏状态,那么我会让异常冒泡到全局处理程序,记录错误并将用户重定向到错误页面。

【讨论】:

    【解决方案2】:

    没有

    On Error Resume Next 
    

    类似的东西在 javascript/jQuery 中不起作用,建议将您的代码放在 try/catch 块中。

    另一种 DOM 级别的方法(虽然不理想):

    window.onerror = function(){
       return true;
    }
    

    【讨论】:

    • jquery 的东西停止工作,页面上的其他元素也停止响应。
    • 请将 Try/Catch 放入您的代码函数中。使用开发者工具(浏览器 F12)检查错误行号并放入 try/catch。 window.error 会欺骗吗?
    • 这并没有解决我的问题。
    猜你喜欢
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    相关资源
    最近更新 更多