我檢查了我的index.php並刪除了所有的console.log(),但是當我去IE7時,我仍然收到控制檯錯誤。有趣的是,如果我檢查在IE9中,然後將瀏覽器模式更改爲IE7,它可以正常工作,但是如果將該站點直接測試到IE7瀏覽器,則會顯示控制檯錯誤消息。IE控制檯問題
有關如何阻止此問題的任何想法嗎?
我檢查了我的index.php並刪除了所有的console.log(),但是當我去IE7時,我仍然收到控制檯錯誤。有趣的是,如果我檢查在IE9中,然後將瀏覽器模式更改爲IE7,它可以正常工作,但是如果將該站點直接測試到IE7瀏覽器,則會顯示控制檯錯誤消息。IE控制檯問題
有關如何阻止此問題的任何想法嗎?
您可能錯過了某個地方的console.log
調用。 IE9切換到IE7的原因是,只要打開控制檯切換版本,就會創建控制檯對象。因此在IE9的IE7模擬模式下不會出現錯誤。
更好的解決方案是在您的JS代碼如下事先:
if (!window.console){console = {log:function(){}};}
現在所有的console.log
電話不會引發錯誤,但會被忽略。
我做了以下開發時:
var logging = 1;
if (!window.console){console = {log:function(){}};}
function _log(a) { if(logging) { console.log(a); } }
,並繼續使用_log("foo")
整個代碼。現在,您可以使用簡單的logging = 0
切換日誌記錄,並且可以安全地防止丟失的控制檯對象。
+1,是的。我通常使用consolelog()而不是console.log,它將檢查console和console.log的定義。這樣,如果我在彈出控制檯期間,消息將立即記錄。 –
真的很難說如何擺脫由未指定代碼生成的未指定的錯誤。 – Quentin
如果你的意思是你*控制檯是未定義的* IE7中沒有控制檯的錯誤; http://stackoverflow.com/questions/3326650/console-is-undefined-error-for-internet-explorer –
你是否包含舊版瀏覽器的具體js文件(''等),你有沒有試過清理你的瀏覽器緩存? (按Ctrl + F5幾次通常會訣竅) –