【问题标题】:How to save the JavaScript errors in file [closed]如何将 JavaScript 错误保存在文件中
【发布时间】:2011-10-02 01:28:01
【问题描述】:

需要保存 JavaScript 错误日志的解决方案。用于自动化测试任何支持流行网络浏览器(IE、FF、Chrome)的网站。

【问题讨论】:

    标签: javascript internet-explorer logging qa


    【解决方案1】:

    最实用的方法是查找onerror事件。 try-catch 是最好的方法,但您应该知道代码中可能出现错误的位置。

    这里使用了警报。它可以替换为对某些服务器端脚本/应用程序的 ajax 调用,该脚本/应用程序将负责消息的数据库日志记录。 JavaScript 本身 can`t access any file-system - 服务器或用户的。这只会发送有关错误的信息。 demo

    window.onerror = function (msg, url, num) {
        alert("Error: " + msg + "\nURL: " + url + "\nLine: " + num);
        return true;
    };
    JS-made-poo();
    

    Internet Explorer 使用 ActiveX,它在某种日志应用程序中可能很有用。但用户可能会在激活 ActiveX 时收到警告。

    【讨论】:

    • 任何网站 - 无法访问源代码和许多标签 iframe...这是问题。
    • 如何保存以下网站的错误日志:msn.com yahoo.com 这不是我的网站
    • @Ivan 注入您的 JavaScript - 通过 GreaseMonkey 或其他工具,具体取决于您的浏览器。
    【解决方案2】:

    简单/最好的方法:)

    简单的步骤:

    1. 编写 JavaScript 错误捕获 代码。
    2. 添加 Ajax 请求/响应 将捕获的错误发送到的模块 您的服务器。
    3. 在服务器商店 您的 Javascript 错误 日志/数据库。
    4. 如果需要,请提供 访问日志的功能 远程。

    在客户端登录文件有限制:

    1. 仅受 IE 支持(使用 ActiveX 对象)
    2. 显然,文件存储在客户端。不在服务器上。

    【讨论】:

      【解决方案3】:

      我不相信 Javascript 有任何内在的东西来支持这一点,因为 Javascript 无法访问客户端的文件系统。您需要构建一个浏览器模块、带有嵌入式浏览器的应用程序,或者看看您是否可以构建一个合适的 firebug 扩展。

      【讨论】:

        【解决方案4】:

        或者在 JS 变量中收集错误,然后将它们提交到服务器进行记录。

        【讨论】:

          【解决方案5】:

          最简单的方法是设置一个您可以通过帖子点击的页面,并在出错时将错误发布到该页面。不过,这需要捕获所有错误,因此您需要将页面包装在 try { .. } catch (e) { .. } 语句中。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-12-07
            • 2013-08-04
            • 1970-01-01
            • 1970-01-01
            • 2016-10-25
            • 1970-01-01
            • 2018-01-08
            相关资源
            最近更新 更多