javascript - Requirejs组合应用程序window.onerror错误处理

标签 javascript backbone.js error-handling requirejs grunt-contrib-requirejs

在基于Backbone和requirejs 2x的应用程序中,仅当应用程序通过grunt-contrib-require组合时,才使用,window.onerror停止捕获错误。

在Backbone应用程序之前和之外声明的window.onerror函数ID,并将错误发送到后端。

抱歉,无法发布大部分应用程序,但那些感兴趣的部分

这是我的app/main.js文件

require(["config"], function () {

    // config is a require.config({}); definition

    require(["app", "router"], function (app, Router) {
        app.initialize(new Router());
    });

});

关于requirejs任务的Gruntfile.js部分

    requirejs : {
        debug : {
            options : {
                mainConfigFile : "app/config.js",
                generateSourceMaps : false,
                include : [ "main" ],
                insertRequire : [ "main" ],
                out : "app.combined.js",
                optimize : "none",
                findNestedDependencies : true,
                name : "config",
                baseUrl : "app",
                wrap : false,
                preserveLicenseComments : false
            }
        }
    }

嵌入未合并的应用程序:

<script>
  window.onerror = function(msg, url, line, colno, error) {
     console.debug('onerror',arguments);
     // data will be sent to backend

     // TRACE FIRED

  }
</script>

<script src="require.js" data-main="app/main"></script>

嵌入组合应用程序:

<script>
  window.onerror = function(msg, url, line, colno, error) {
     console.debug('onerror',arguments);
     // data will be sent to backend

     // TRACE NOT FIRED
  }
</script>
<script src="app.combined.js" ></script>

任何建议欢迎!谢谢。

最佳答案

我找到了解决方案。

我应该在窗口加载
之后声明window.onerror。

    $(window).load(function() {

      window.onerror = function(msg, url, line, colno, error) {

        console.debug('onerror',arguments);

        // data will be sent to backend

        // TRACE FIRED
     };
    });

    <script src="app.combined.js" ></script>

关于javascript - Requirejs组合应用程序window.onerror错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27060930/

相关文章:

php - 如何在错误时显示变量?

javascript - 解析要发布的 JSON 对象

php - 当主干发送的请求方法是删除时,你如何访问php中的数据?

java - 如何自定义Java GraphQL错误响应

javascript - 在javascript中访问另一个窗口中窗口的全局变量

javascript - Google Chrome 中未触发主干点击事件

postgresql - 遇到错误时如何停止 Postgres 脚本?

javascript - 选择除一个以外的所有 div

Javascript 数组,查找并组合具有重复值的条目

javascript - Ajax 调用以消耗本地主机上的剩余服务