|
使用 F12 開發(fā)人員工具控制臺(tái)命令,可以接收來自 Windows Internet Explorer 9 的錯(cuò)誤消息,并從代碼發(fā)送回你自己的消息,而無需中斷執(zhí)行流。 可以使用 F12 工具控制臺(tái)視圖在程序代碼之外立即運(yùn)行腳本語(yǔ)句。 控制臺(tái)選項(xiàng)卡和視圖 可以從“控制臺(tái)”選項(xiàng)卡或“腳本”選項(xiàng)卡下的控制臺(tái)窗格中查看 F12 工具控制臺(tái)消息??刂婆_(tái)在打開時(shí)收到來自 Windows Internet Explorer 的消息(例如,代碼中包含錯(cuò)誤時(shí))。Internet Explorer 9 可以向控制臺(tái)發(fā)送很多信息消息和錯(cuò)誤消息 。若要導(dǎo)航到代碼中的某個(gè)錯(cuò)誤位置,請(qǐng)單擊錯(cuò)誤中提供的源信息。 如果在關(guān)閉 F12 工具時(shí)出現(xiàn)消息,則下次打開 F12 工具時(shí)會(huì)顯示警告消息。以下屏幕截圖顯示 F12 工具控制臺(tái)。
你還可以從代碼向控制臺(tái)發(fā)送消息 以記錄狀態(tài)、標(biāo)志錯(cuò)誤或使用控制臺(tái)對(duì)象的相關(guān)問題的警告。Internet Explorer 9 提供了四種類型的消息 以區(qū)分代碼中的問題 - 日志、警告、錯(cuò)誤和信息。調(diào)試時(shí)可以使用這些消息,而不使用 "window.alert()",或者只保留運(yùn)行日志(如果在代碼中進(jìn)行了重要聲明)。消息字符串可以包含文本、 變量、表達(dá)式結(jié)果或者所有這些內(nèi)容的組合。以下屏幕截圖顯示已顯示了多條消息的 F12 工具控制臺(tái)。
將消息從代碼發(fā)送到控制臺(tái) F12 工具提供了可從腳本代碼中使用的命令,用于發(fā)送消息,啟動(dòng)或停止分析,或者更改用于評(píng)估鍵入控制臺(tái)的腳本語(yǔ)句的窗口。 使用控制臺(tái)對(duì)象,以將消息從代碼發(fā)送到控制臺(tái)。 測(cè)試代碼時(shí)使用控制臺(tái)而不使用 "window.alert()",這樣不會(huì)太明顯,因而不會(huì)通過模式對(duì)話框停止執(zhí)行。此對(duì)象提供大量表單,以便在需要時(shí)能夠區(qū)分信息消息和錯(cuò)誤消息。使用控制臺(tái)對(duì)象時(shí),請(qǐng)確保打開 F12 工具。為了避免執(zhí)行不必要的代碼,請(qǐng)使用以下功能測(cè)試: if(window.console && window.console.clear)
在測(cè)試大量不具有括號(hào)和參數(shù)的 Internet Explorer 9 對(duì)象時(shí),則如果存在功能,其將返回值 True。在這種情況下,我們將測(cè)試 console.clear() 功能。還可通過僅測(cè)試控制臺(tái)對(duì)象以進(jìn)行通用檢查: if (window.console){ // Add console commands here. } window.console 下表 展示可在腳本中使用的控制臺(tái)命令的語(yǔ)法和示例。
可以使用 "printf" 樣式的替代模式設(shè)置消息控制臺(tái)命令的格式。例如,你可以使用以下方法之一調(diào)用 "console.log": console.log("Variable x = " + x + " and variable y = " + y)
console.log("Variable x = ", x, " and variable y = ", y)
console.log("Variable x = %d and variable y = %d", x, y)
控制臺(tái)消息方法接受可選參數(shù),以允許將消息中的變量替換為值。例如,可以向控制臺(tái)發(fā)送一個(gè)功能報(bào)告錯(cuò)誤: function sendErrorConsole(errorCode) {
window.console.error("Error: %s occured", errorCode);
}
在控制臺(tái)中執(zhí)行腳本和命令 在“控制臺(tái)”選項(xiàng)卡或“腳本”選項(xiàng)卡中的“控制臺(tái)”窗格的底部,可以執(zhí)行一行 或多行控制臺(tái)命令或腳本語(yǔ)句??稍诳刂婆_(tái)中執(zhí)行任何有效的腳本命令或表達(dá)式。 例如,若要查看變量值,請(qǐng)?jiān)诳刂婆_(tái)中鍵入名稱并按 Enter。若要更改腳本中某個(gè)變量的值, 請(qǐng)?jiān)诳刂婆_(tái)中鍵入所賦的值。 按向上鍵瀏覽之前執(zhí)行的命令。
無論是否啟動(dòng)調(diào)試程序,都可以使用“腳本”選項(xiàng)卡中的“控制臺(tái)” 窗格。在斷點(diǎn)處停止執(zhí)行時(shí),在此窗格中輸入的命令將 在斷點(diǎn)的作用域內(nèi)運(yùn)行;當(dāng)執(zhí)行未暫停時(shí),命令將在全局作用域中運(yùn)行。 使用 cd() 跨框架執(zhí)行命令 腳本語(yǔ)句和命令的執(zhí)行 默認(rèn)情況下在頂級(jí)窗口的上下文中進(jìn)行。如果使用的是幀,則使用 "cd()" 控制臺(tái) 命令。
下圖演示了在此處提供的示例中執(zhí)行的幾個(gè)步驟。
從控制臺(tái)視圖的頂部, 執(zhí)行以下命令:
可使用 ID 名稱或 frames[] 集合來更改為 iframe。在本例中, "document.frames[0]" 同樣發(fā)揮作用。 執(zhí)行多行 腳本 若要執(zhí)行多行腳本命令,請(qǐng)單擊多行模式按鈕
篩選消息并擴(kuò)展控制臺(tái)對(duì)象 可以從控制臺(tái)窗格 篩選控制臺(tái)消息以顯示或隱藏某些類別的消息。若要篩選消息,請(qǐng)右鍵單擊“控制臺(tái)”窗格并將鼠標(biāo)指針懸停在“篩選器”上方。將顯示一個(gè)可用篩選器的列表,其中帶復(fù)選標(biāo)記的篩選器是活動(dòng)的。
可以擴(kuò)展控制臺(tái)對(duì)象以添加 新功能。例如,你可能希望自定義方法以將格式化的調(diào)試消息輸出到控制臺(tái)。若要添加 "console.debug" 命令,則可向 JavaScript 代碼中添加以下代碼段: console.debug = function(name, value){
console.warn("DEBUG: " + name + "==" + value);
}
此示例采用了兩個(gè)參數(shù),并使用某種最小化格式將它們輸出到“控制臺(tái)”窗格。但 可以隨意自定義函數(shù)參數(shù)和行為。通過這種方法,控制臺(tái)對(duì)象可以用于添加所需的任意數(shù)量的 新命令。 注意 由于你在新命令中使用了現(xiàn)有控制臺(tái)命令,因此仍將應(yīng)用篩選器。例如, 上一示例中的 console.debug 命令使用 console.warn 將消息輸出到“控制臺(tái)” 窗格。如果從“篩選器”列表中清除“控制臺(tái)警告”,則“控制臺(tái)”窗格中將不會(huì)顯示 console.warn 中的任何輸出。 |
|
|