javascript全局捕获错误

;
(function (window) {
    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    var s;
    (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
    function getBrowserInfo() {
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var re = /(msie|firefox|chrome|opera|version).*?([\d.]+)/;
        var m = ua.match(re);
        Sys.browser = m[1].replace(/version/, "'safari");
        Sys.ver = m[2];
        return Sys;
    }
    function tryerror(msg, file, line) {
        var sys = getBrowserInfo();
        /*
         ***msg:错误信息
         ***file:文件信息
         ***line:文件行数
         ***browser:浏览器信息
         ***ver:浏览器版本信息
         */
        var errorTxt = {};
        errorTxt.msg = msg;
        errorTxt.file = file;
        errorTxt.line = line;
        errorTxt.browser = sys.browser;
        errorTxt.ver = sys.ver;
        postDate(errorTxt);
        return false; //true表示是否需要弹出错误提示。false 不需要。
    }
    function postDate(errorTxt) {

        if (typeof(jQuery) === "undefined") {

            return false;
        }
        var postPath = "http://static.fzbm.com/log/log.php";
        $.ajax({
            type : "POST",
            url : postPath,
            data : errorTxt,
            dataType : "json",
            success : function (data) {}
        });
    }
    window.onerror = function (msg, file, line) {
        tryerror(msg, file, line)
    }
})(window);

 

posted @ 2015-02-05 16:31  开水中的糖  阅读(520)  评论(0编辑  收藏  举报