每次按 F12 開開發者工具只是要看變數內容而已,關掉後重新跑都要再撒一次中斷點實在有點累,便打算要來找找有什麼方法可以替代
Google 問到 IE8 以上的開發者工具有 console.log() 可以使用,但在 VS 下中斷點時發現 window.console 物件並不存在
繼續求神之後才知道原來 IE 下面只有當開發者工具打開時這個物件才可以取用
也就是說,如果爽爽的直接插一堆 log 到 js 下面,平時沒開開發者工具的狀況下就會到處噴錯啦
於是乎,把判斷 window.console 在不在 & 輸出訊息到 console 包起來變成
function trace(str){
try{
if(typeof(window.console) == "object") console.log(str);
}catch(e){}
}
不過看到 stackoverflow 上面有大大說可以寫成
if(typeof console === "undefined") {
console = {
log: function() {},
info: function() {},
error: function() {},
warn: function() {}
//其他的也順到~
}
}
似乎這樣是可以在 console 物件不存在的時候產生一個空的 function 讓瀏覽器不至於噴錯??
不知道,總之先 memo 下來
是說這些東西上正式環境的時候應該是要被拔掉才對,不然有 user 打開開發者工具就看得到開發人員輸出的 log 啦
不知道有沒有什麼比較聰明的方式來開關這個東西 @_@
--
是說要按下F12才有 console 物件的問題只存在IE8/9, IE10 之後不用打開開發者工具也可以有 console 物件了~
沒有留言:
張貼留言