/** * Ajax Error Logger * javascriptで発生したエラーをサーバーに通知 */ window.onerror = function (msg, url, lno) { //スタックトレース var trace = ""; re = /function\W+([\w-]+)/i; var f = arguments.callee; while (f){ trace += (re.exec(f))[1] + '('; for (i = 0; i < f.arguments.length - 1; i++){ trace += "'" + f.arguments[i] + "', "; } if (arguments.length > 0){ trace += "'" + f.arguments[i] + "'"; } trace += ")\n"; f = f.arguments.callee.caller; } var data = ""; data += ((data != "") ? "&" : "") + encodeURIComponent('ael_msg') + "=" + encodeURIComponent(msg); data += ((data != "") ? "&" : "") + encodeURIComponent('ael_url') + "=" + encodeURIComponent(url); data += ((data != "") ? "&" : "") + encodeURIComponent('ael_lno') + "=" + encodeURIComponent(lno); data += ((data != "") ? "&" : "") + encodeURIComponent('ael_trc') + "=" + encodeURIComponent(trace); jQuery.ajax({ url:'/Ajax/ajax_Error_Server.php', async:true, timeout:3000, type:"POST", dataType:"text", data:data, success:function(data){ return; } }); return false; }