2010-08-18 73 views

回答

41

沒有,但你可以用JavaScript很容易地定義它:

// console.time implementation for IE 
if(window.console && typeof(window.console.time) == "undefined") { 
    console.time = function(name, reset){ 
     if(!name) { return; } 
     var time = new Date().getTime(); 
     if(!console.timeCounters) { console.timeCounters = {}; } 
     var key = "KEY" + name.toString(); 
     if(!reset && console.timeCounters[key]) { return; } 
      console.timeCounters[key] = time; 
     }; 

    console.timeEnd = function(name){ 
     var time = new Date().getTime(); 
     if(!console.timeCounters) { return; } 
     var key = "KEY" + name.toString(); 
     var timeCounter = console.timeCounters[key]; 
     var diff; 
     if(timeCounter) { 
      diff = time - timeCounter; 
      var label = name + ": " + diff + "ms"; 
      console.info(label); 
      delete console.timeCounters[key]; 
     } 
     return diff; 
    }; 
} 

只需把它放在你的JS文件要使用console.time()和console.timeEnd()前。

這不是我的代碼,我其實從Firebug核心複製它。

+1

那第一個條件對我不起作用,你的意思是if(window.console && typeof(window.console.time)==「undefined」)? – 2011-01-04 00:27:19

+0

你是對的,我編輯了代碼 – warpech 2011-01-04 14:38:45

+3

由於這是針對只在Windows上運行的IE8,請記住,此操作系統上的定時器可能不準確(取決於版本)。請參閱http://calendar.perfplanet.com/2010/bulletproof-javascript-benchmarks/(尤其是關於「不準確的毫秒定時器」的部分)。 – 2011-05-16 09:47:24

4

如果你想在IE中使用Firebug,有一個名爲Firebug Lite的版本,它可以在任何瀏覽器中用作'Bookmarklet'。

http://getfirebug.com/firebuglite

它不是那樣功能強大真實的東西,但它可以做很多,所以它可能是值得一試。

+0

確認Firebug Lite支持console.time。驚訝這沒有更多upvotes。 – 2011-09-23 01:07:37

相關問題