我有一個(gè)腳本可以檢測(cè)我網(wǎng)站上的Javascript錯(cuò)誤,并將它們發(fā)送到我的后端進(jìn)行報(bào)告。它報(bào)告遇到的第一個(gè)錯(cuò)誤,假設(shè)的行號(hào)和時(shí)間。編輯包含doctype:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:fb="http://www.facebook.com/2008/fbml">...<script type="text/javascript">//<![CDATA[// for debugging javascript!(function(window){ window.onerror = function(msg, url, ln) { //transform errors if (typeof(msg) === 'object' && msg.srcElement && msg.target) { if(msg.srcElement == '[object HTMLScriptElement]' && msg.target == '[object HTMLScriptElement]'){ msg = 'Error loading script'; }else{ msg = 'Event Error - target:' + msg.target + ' srcElement:' + msg.srcElement; } } msg = msg.toString(); //ignore errors if(msg.indexOf("Location.toString") > -1){ return; } if(msg.indexOf("Error loading script") > -1){ return; } //report errors window.onerror = function(){}; (new Image()).src = "/jserror.php?msg=" + encodeURIComponent(msg) + "&url=" + encodeURIComponent(url || document.location.toString().replace(/#.*$/, "")) + "&ln=" + parseInt(ln || 0) + "&r=" + (+new Date()); };})(window);//]]></script>由于這個(gè)腳本,我敏銳地意識(shí)到我的網(wǎng)站上發(fā)生的任何javascript錯(cuò)誤。最大的罪犯之一是“劇本錯(cuò)誤”。在Chrome 10+和Firefox 3+的第0行。Internet Explorer中不存在此錯(cuò)誤(或可能稱為其他內(nèi)容?)。更正(2013年5月23日):此“腳本錯(cuò)誤,第0行”錯(cuò)誤現(xiàn)在顯示在IE7和可能的其他版本的IE中。可能是最近的IE安全補(bǔ)丁的結(jié)果,因?yàn)榇诵袨橐郧安淮嬖?。有誰知道這個(gè)錯(cuò)誤意味著什么或是什么導(dǎo)致它?它發(fā)生在我的總頁面加載量的大約0.25%上,并且代表報(bào)告錯(cuò)誤的一半。
在Chrome和Firefox的Javascript中報(bào)告了隱秘的“腳本錯(cuò)誤。”
炎炎設(shè)計(jì)
2019-09-18 19:48:45