window方法:dump()

2018-08-09 14:01 更新

dump()方法

dump()方法可以將消息打印到(本機(jī))控制臺。

注意:dump()方法是非標(biāo)準(zhǔn)的,不要在面向Web的生產(chǎn)站點(diǎn)上使用它:它不適用于每個(gè)用戶。實(shí)現(xiàn)之間可能存在很大的不兼容性,并且行為可能在將來發(fā)生變化。

dump()方法語法

window.dump(message);

dump(message);
  • message表示要記錄的字符串消息。

筆記

dump()的一個(gè)常見用途是調(diào)試JavaScript。如果使用該-console選項(xiàng)啟動Firefox進(jìn)程,則傳遞給dump()的消息將發(fā)送到系統(tǒng)控制臺(本機(jī)控制臺)。如果未指定該-console選項(xiàng),則輸出將轉(zhuǎn)至stderr。dump()的輸出不會發(fā)送到瀏覽器控制臺??梢允褂胏onsole.log()將輸出發(fā)送到瀏覽器控制臺。特權(quán)代碼還可以使用Components.utils.reportError和nsIConsoleService將消息記錄到Error Console/Browser Console。

dump()也可用于在JavaScript中實(shí)現(xiàn)的XPCOM組件,即使window不是組件中的全局對象。它也明確地在沙盒中可用。但是,dump的使用不會受到下面提到的首選項(xiàng)的影響——它將始終顯示。因此,建議您自己檢查此首選項(xiàng)或使用自己的調(diào)試首選項(xiàng),以確保在用戶可能根本不感興趣時(shí)??,不會向用戶的控制臺發(fā)送大量調(diào)試內(nèi)容。請注意,XPCOM組件的dump輸出轉(zhuǎn)到stderr,而其他地方的dump調(diào)用將輸出到stdout。

在默認(rèn)情況下,Gecko dump()被禁用 - 它不會執(zhí)行任何操作,但也不會引發(fā)錯(cuò)誤。要查看dump輸出你必須通過設(shè)置首選項(xiàng)browser.dom.window.dump.enabled為true來啟用它。您可以在about:config或user.js文件中設(shè)置首選項(xiàng)。注意:默認(rèn)情況下不會在about:config列出此首選項(xiàng),您可能需要創(chuàng)建它(右鍵單擊內(nèi)容區(qū)域->新建->布爾值)。

在Windows上,您將需要一個(gè)控制臺來實(shí)際查看任何內(nèi)容。如果您還沒有,則關(guān)閉應(yīng)用程序并使用命令行參數(shù)-console重新打開它,應(yīng)創(chuàng)建控制臺或使用-attach-console命令來使用現(xiàn)有的控制臺。在其他操作系統(tǒng)上,從終端啟動應(yīng)用程序就足夠了。

要將控制臺輸出重定向到文件,無需-console選項(xiàng)即可運(yùn)行firefox,并使用語法將stderr和stdout重定向到文件,即:

firefox > console.txt 2>&1

如果您希望控制臺消息顯示在用于啟動應(yīng)用程序的控制臺中,則可以使用Gecko控制臺重定向器。預(yù)編譯的二進(jìn)制文件位于壓縮存檔 :https://github.com/matthewkastor/Redirector/archive/master.zip,這在Redirector-master\Gecko\Console Redirector\bin\Release下,你可以將所有dll和exe復(fù)制到任意位置。然后運(yùn)行:Console Redirector.exe /?

規(guī)范

這不是任何規(guī)范的一部分。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號