blob: 41d0a286bf269da89c2611bd1c35e83d606d8561 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
---
title: Window.dump()
slug: Web/API/Window/dump
tags:
- API
- DOM
- DOM_0
- Method
- Non-standard
translation_of: Web/API/Window/dump
---
<div>{{ ApiRef() }}</div>
<div>
<p id="comment_text_2">{{Non-standard_header}}</p>
</div>
<h2 id="Summary" name="Summary">概要</h2>
<p>将信息打印到 (本地) 控制台(console).</p>
<h2 id="Syntax" name="Syntax">语法</h2>
<pre class="syntaxbox">window.dump(<em>message</em>);
dump(<em>message</em>);
</pre>
<ul>
<li><code>message</code> 是要打印的字符串</li>
</ul>
<h2 id="Notes" name="Notes">注解</h2>
<p><code>dump()</code><font><font>的</font><font>常见用途</font><font>是调试JavaScript。</font></font><code>dump</code><font><font>如果使用</font></font><code>console</code><font><font>选项</font><font>启动了Firefox进程,则将</font><font>消息</font><font>发送到系统控制台(本地控制台)</font><font>。</font><font>如果</font></font><code>console</code><font><font>未指定</font><font>该</font><font>选项,则输出到对应终端。</font><font>dump()的输出不会发送到</font></font><a href="https://developer.mozilla.org/en-US/docs/Tools/Browser_Console"><font><font>浏览器控制台</font></font></a><font><font>。</font><font>输出可以</font><font>使用</font><a href="https://developer.mozilla.org/en-US/docs/Web/API/Console.log"><font>console.log()</font></a><font>发送到</font></font><a href="https://developer.mozilla.org/en-US/docs/Tools/Browser_Console"><font><font>浏览器控制台</font></font></a><font><font>。</font><font>特殊的代码还能将</font><font>消息记录到</font><a href="https://developer.mozilla.org/en-US/docs/Error_Console" title="Error_Console"><font>错误控制台</font></a><font> / </font><a href="https://developer.mozilla.org/en-US/docs/Tools/Browser_Console"><font>浏览器控制台</font></a><font>。</font></font><code><a href="https://developer.mozilla.org/en-US/docs/Components.utils.reportError" title="Components.utils.reportError">Components.utils.reportError</a></code><code><a href="https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIConsoleService" title="nsIConsoleService">nsIConsoleService</a></code></p>
<p><code>dump()</code><font><font>也可用于使用JavaScript实现的XPCOM组件,尽管 </font></font>{{domxref("window")}} <font><font>不是组件中的全局对象。</font><font>它也明确地在</font></font><a href="https://developer.mozilla.org/en/docs/Components.utils.Sandbox#Methods_available_on_the_Sandbox_object" title="沙盒对象上可用的方法"><font><font>沙箱中提供</font></font></a><font><font>。</font><font>但是,这种使用</font></font><code>dump</code><font><font>不受下面提到的偏好的影响---它将始终显示出来。</font><font>因此,建议您自己检查此偏好或使用自己的调试偏好,以确保在根本不感兴趣的情况下,不会向用户的控制台发送大量调试内容。</font><font>请注意,</font></font><code>dump</code><font><font>XPCOM组件的输出将转到</font></font><code>stderr</code><font><font>,而</font></font><code>dump </code><font><font>其他地方将输出</font></font><code>stdout</code><font><font>。</font></font></p>
<p><a href="https://developer.mozilla.org/en-US/docs/Gecko" title="壁虎"><font><font>Gecko</font></font></a> <font><font>在</font><strong><font>默认情况dump()下</font></strong></font><strong><font><font>被禁用</font></font></strong><font><font> - 它不会做任何事情,但也不会引起错误。</font><font>要查看</font></font><code>dump</code><font><font>输出,您必须通过设置首选项</font></font><code>browser.dom.window.dump.enabled</code><font><font>来</font><font>启用它</font></font><font><font>。</font><font>您可以在</font></font><a href="http://kb.mozillazine.org/About:config"><font><font>about:config</font></font></a><font><font>或</font></font><a href="http://kb.mozillazine.org/User.js_file"><font><font>user.js文件中</font></font></a><font><font>设置首选项</font><font>。</font><font>注意:</font></font><code>about:config</code><font><font>默认情况下</font><font>不会列出此首选项</font><font>,您可能需要创建它(右键单击内容区域 - >新建 - >布尔值)。</font></font></p>
<p><font><font>在Windows上,您需要一个控制台才能看到任何东西。</font><font>如果您还没有,请关闭应用程序并使用命令行参数重新打开</font></font><code>console</code><font><font>应该创建控制台或使用</font></font><code>-attach-console</code><font><font>现有的控制台。</font><font>在其他操作系统上,从终端启动应用程序就足够了。</font></font></p>
<p><font><font>要将控制台输出重定向到文件,请运行firefox </font></font><em><font><font>而不</font></font></em><font><font>使用-console选项,并使用语法将stderr和stdout重定向到一个文件,即:</font></font></p>
<pre>firefox > console.txt 2>&1
</pre>
<div class="note">
<p><font><font>如果您希望控制台消息出现在用于启动应用程序的控制台中,则可以使用</font></font><a href="https://github.com/matthewkastor/Redirector"><font><font>Gecko控制台重定向器</font></font></a><font><font>。</font><font>预编译的二进制文件可以在压缩的归档文件 </font></font><a href="https://github.com/matthewkastor/Redirector/archive/master.zip"><font><font>https://github.com/matthewkastor/Redirector/archive/master.zip中找到</font></font></a><font><font>,</font></font><code>Redirector-master\Gecko\Console Redirector\bin\Release</code><font><font>将所有dll和exe复制到任何你想要的地方。</font><font>然后跑</font></font><code>Console Redirector.exe /?</code></p>
</div>
<h2 id="Specification" name="Specification">Specification</h2>
<p id="comment_text_2">这不是标准的一部分</p>
|