星期二, 9月 28, 2010

其他browser不支援firebug console問題

先前用firebug在看log
不過遇到其他browser就會說不支援~
甚至導致程式crash, 雖然開發完就會關掉,但就很煩
於是用jQuery本身的fucntion來檢查是否為firefox
//is browser firefox
jQuery.each(jQuery.browser, function(i, val) {
    isConsoleSupported = (i=="mozilla" ); //jQuery.browser.version.substr(0,3)=="1.9"
});
if(isConsoleSupported)
  console.info(message); 
};

不過遇到firebug沒啟動 也是會掛
有時還會嚇到自己.. 以為程式掛了...
一查原來是firebug沒啟動

上網看了一下 哈 這麼簡單...
//is it support console & is console turn on
isConsoleSupported = (window.console && window.console.firebug);

//2013.4 
後來firebug團隊決定把window.console.firebug拿掉,所以一定是false,為了兼容要改成
(window.console && (window.console.firebug || window.console.exception))

完整用法
//取得console
var console = getConsole();
console.log("console works");

function getConsole(){
    if(window.console && (window.console.firebug || window.console.exception))) 
        return window.console;

     //自行產生個console,雖然不能log,但至少引用的程式不用再判斷
     console = {
          write: function() { },
          debug: function() { },
          log: function() { },
          info : function() { },
          warn : function() { },
          error : function() { }
     };

     return console; 
}

References

沒有留言: