怎么检查javascript语法错误


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

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

    //没有URL不上报!上报也不知道错误

    if (msg != "Script error." && !url){

        return true;

    }

    //采用异步的方式

    //我遇到过在window.onunload进行ajax的堵塞上报

    //由于客户端强制关闭webview导致这次堵塞上报有Network Error

    //我猜测这里window.onerror的执行流在关闭前是必然执行的

    //而离开文章之后的上报对于业务来说是可丢失的

    //所以我把这里的执行流放到异步事件去执行

    //脚本的异常数降低了10倍

    setTimeout(function(){

        var data = {};

        //不一定所有浏览器都支持col参数

        col = col || (window.event && window.event.errorCharacter) || 0;

        data.url = url;

        data.line = line;

        data.col = col;

        if (!!error && !!error.stack){

            //如果浏览器有堆栈信息

            //直接使用

            data.msg = error.stack.toString();

        }else if (!!arguments.callee){

            //尝试通过callee拿堆栈信息

            var ext = [];

            var f = arguments.callee.caller, c = 3;

            //这里只拿三层堆栈信息

            while (f && (--c>0)) {

               ext.push(f.toString());

               if (f  === f.caller) {

                    break;//如果有环

               }

               f = f.caller;

            }

            ext = ext.join(",");

            data.msg = ext;

        }

        //把data上报到后台!

    },0);

    return true;//返回true是因为不需要在console中打印错误了

};

推荐学习:《javascript高级教程

以上就是怎么检查javascript语法错误的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

javascript字符串大写怎么转为小写

聊聊javascript人脸识别技术

可以同时删除字符串前导和尾部空白的函数是什么

javascript怎样实现累加

css实现基于用户滚动应用(代码)

javascript如何实现页面跳转

如何理解javascript中的变量提升

javascript之ssm+vue前后端分离框架整合实现

javascript中删除数组元素的方法有哪些

javascript开平方怎么求

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...