防止低版本IE瀏覽器遇到console除錯報錯程式碼

antzone發表於2017-03-22

由於IE8以下瀏覽器不支援console物件,所以如果在這些瀏覽器使用它來除錯程式碼的話可能會出現報錯,從而阻斷程式碼的執行,下面是一段能夠解決此問題的程式碼例項,希望能夠給需要的朋友帶來幫助。

程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
if(!window.console){ 
  var names=[
  "log",
  "debug",
  "info",
  "warn",
  "error",
  "assert",
  "dir",
  "dirxml",
  "group",
  "groupEnd",
  "time",
  "timeEnd",
  "count",
  "trace",
  "profile", 
  "profileEnd"
  ];
  window.console={}; 
  for(var index=0;index<names.length;index++){ 
    window.console[names[index]]=function(){}; 
  } 
}

以上程式碼實現了我們的要求,原理非常的簡單,首先判斷瀏覽器是否支援console物件,如果不支援的話,就將console物件的所具有的函式名稱放入陣列,同時為window物件新增一個自定義一個console物件,然後遍歷陣列,以陣列中的元素作為屬性名稱,然後此屬性指向一個函式,這樣就就不會出現報錯,導致程式碼中斷的現象了。

相關文章