aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/document/execcommand/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/api/document/execcommand/index.html')
-rw-r--r--files/zh-cn/web/api/document/execcommand/index.html175
1 files changed, 175 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/document/execcommand/index.html b/files/zh-cn/web/api/document/execcommand/index.html
new file mode 100644
index 0000000000..95624325e6
--- /dev/null
+++ b/files/zh-cn/web/api/document/execcommand/index.html
@@ -0,0 +1,175 @@
+---
+title: document.execCommand
+slug: Web/API/Document/execCommand
+tags:
+ - API
+ - DOM
+ - 参考
+ - 方法
+translation_of: Web/API/Document/execCommand
+---
+<div>{{ApiRef("DOM")}}{{Obsolete_header}}</div>
+
+<p id="当一个HTML文档切换到设计模式_designMode时,文档对象暴露_execCommand_方法,该方法允许运行命令来操纵可编辑区域的内容。大多数命令影响文档的选择(粗体,斜体等),而其他命令插入新元素(添加链接)或影响整行(缩进)。当使用contentEditable时,调用_execCommand()_将影响当前活动的可编辑元素">当一个HTML文档切换到设计模式时,<code>document</code>暴露 <strong><code>execCommand</code> </strong>方法,该方法允许运行命令来操纵<a href="/zh-CN/docs/Web/HTML/Global_attributes/contenteditable">可编辑内容区域</a>的元素。</p>
+
+<p>大多数命令影响<code>document</code>的 <a href="https://developer.mozilla.org/en-US/docs/Web/API/Selection">selection</a>(粗体,斜体等),当其他命令插入新元素(添加链接)或影响整行(缩进)。当使用<code>contentEditable</code>时,调用 <code>execCommand()</code> 将影响当前活动的可编辑元素。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox"><em>bool</em> = document.execCommand(<em>aCommandName</em>, <em>aShowDefaultUI</em>, <em>aValueArgument</em>)
+</pre>
+
+<h3 id="返回值">返回值</h3>
+
+<p>一个 {{jsxref('Boolean')}} ,如果是 <code>false</code> 则表示操作不被支持或未被启用。</p>
+
+<div class="note">
+<p>注意:在调用一个命令前,不要尝试使用返回值去校验浏览器的兼容性</p>
+</div>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt><code>aCommandName</code></dt>
+ <dd>一个 {{domxref("DOMString")}} ,命令的名称。可用命令列表请参阅 {{anch("命令")}} 。</dd>
+ <dt><code>aShowDefaultUI</code></dt>
+ <dd>一个 {{jsxref("Boolean")}}, 是否展示用户界面,一般为 false。Mozilla 没有实现。</dd>
+ <dt><code>aValueArgument</code></dt>
+ <dd>一些命令(例如insertImage)需要额外的参数(insertImage需要提供插入image的url),默认为null。</dd>
+</dl>
+
+<h3 id="命令">命令</h3>
+
+<dl>
+ <dt><code>backColor</code></dt>
+ <dd>修改文档的背景颜色。在styleWithCss模式下,则只影响容器元素的背景颜色。这需要一个{{cssxref("&lt;color&gt;")}} 类型的字符串值作为参数传入。注意,IE浏览器用这个设置文字的背景颜色。</dd>
+ <dt><code>bold</code></dt>
+ <dd>开启或关闭选中文字或插入点的粗体字效果。IE浏览器使用 {{HTMLElement("strong")}}标签,而不是{{HTMLElement("b")}}标签。</dd>
+ <dt><code>ClearAuthenticationCache</code></dt>
+ <dd>清除缓存中的所有身份验证凭据。</dd>
+ <dt><code>contentReadOnly</code></dt>
+ <dd>通过传入一个布尔类型的参数来使能文档内容的可编辑性。(IE浏览器不支持)</dd>
+ <dt><code>copy</code></dt>
+ <dd>拷贝当前选中内容到剪贴板。启用这个功能的条件因浏览器不同而不同,而且不同时期,其启用条件也不尽相同。使用之前请检查浏览器兼容表,以确定是否可用。</dd>
+ <dt><code>createLink</code></dt>
+ <dd>将选中内容创建为一个锚链接。这个命令需要一个<code>href</code>URI字符串作为参数值传入。URI必须包含至少一个字符,例如一个空格。(浏览器会创建一个空链接)</dd>
+ <dt><code>cut</code></dt>
+ <dd> 剪贴当前选中的文字并复制到剪贴板。启用这个功能的条件因浏览器不同而不同,而且不同时期,其启用条件也不尽相同。使用之前请检查浏览器兼容表,以确定是否可用。</dd>
+ <dt><code>decreaseFontSize</code></dt>
+ <dd> 给选中文字加上 {{HTMLElement("small")}} 标签,或在选中点插入该标签。(IE浏览器不支持)</dd>
+ <dt><code>defaultParagraphSeparator</code></dt>
+ <dd>更改在可编辑文本区域中创建新段落时使用的段落分隔符。有关更多详细信息,请参阅<a href="/zh-CN/docs/Web/Guide/HTML/Content_Editable#Differences_in_markup_generation">标记生成的差异</a>。</dd>
+ <dt><code>delete</code></dt>
+ <dd>删除选中部分.</dd>
+ <dt><code>enableAbsolutePositionEditor</code></dt>
+ <dd>启用或禁用允许移动绝对定位元素的抓取器。Firefox 63 Beta/Dev Edition 默认禁用此功能({{bug(1449564)}})。</dd>
+ <dt><code>enableInlineTableEditing</code></dt>
+ <dd>启用或禁用表格行和列插入和删除控件。(IE浏览器不支持)</dd>
+ <dt><code>enableObjectResizing</code></dt>
+ <dd>启用或禁用图像和其他对象的大小可调整大小手柄。(IE浏览器不支持)</dd>
+ <dt><code>fontName</code></dt>
+ <dd>在插入点或者选中文字部分修改字体名称. 需要提供一个字体名称字符串 (例如:"Arial")作为参数。</dd>
+ <dt><code>fontSize</code></dt>
+ <dd>在插入点或者选中文字部分修改字体大小. 需要提供一个HTML字体尺寸 (1-7) 作为参数。</dd>
+ <dt><code>foreColor</code></dt>
+ <dd>在插入点或者选中文字部分修改字体颜色. 需要提供一个颜色值字符串作为参数。</dd>
+ <dt><code>formatBlock</code></dt>
+ <dd>添加一个HTML块式标签在包含当前选择的行, 如果已经存在了,更换包含该行的块元素 (在 Firefox中, BLOCKQUOTE 是一个例外 -它将包含任何包含块元素). 需要提供一个标签名称字符串作为参数。几乎所有的块样式标签都可以使用(例如. "H1", "P", "DL", "BLOCKQUOTE"). (IE浏览器仅仅支持标题标签 H1 - H6, ADDRESS, 和 PRE,使用时还必须包含标签分隔符 &lt; &gt;, 例如 "&lt;H1&gt;".)</dd>
+ <dt><code>forwardDelete</code></dt>
+ <dd>删除光标所在位置的字符。 和按下删除键一样。</dd>
+ <dt><code>heading</code></dt>
+ <dd>添加一个标题标签在光标处或者所选文字上。 需要提供标签名称字符串作为参数 (例如. "H1", "H6"). (IE 和 Safari不支持)</dd>
+ <dt><code>hiliteColor</code></dt>
+ <dd>更改选择或插入点的背景颜色。需要一个颜色值字符串作为值参数传递。 UseCSS 必须开启此功能。(IE浏览器不支持)</dd>
+ <dt><code>increaseFontSize</code></dt>
+ <dd>在选择或插入点周围添加一个BIG标签。(IE浏览器不支持)</dd>
+ <dt><code>indent</code></dt>
+ <dd>缩进选择或插入点所在的行, 在 Firefox 中, 如果选择多行,但是这些行存在不同级别的缩进, 只有缩进最少的行被缩进。</dd>
+ <dt><code>insertBrOnReturn</code></dt>
+ <dd>控制当按下Enter键时,是插入 br 标签还是把当前块元素变成两个。(IE浏览器不支持)</dd>
+ <dt><code>insertHorizontalRule</code></dt>
+ <dd>在插入点插入一个水平线(删除选中的部分)</dd>
+ <dt><code>insertHTML</code></dt>
+ <dd>在插入点插入一个HTML字符串(删除选中的部分)。需要一个个HTML字符串作为参数。(IE浏览器不支持)</dd>
+ <dt><code>insertImage</code></dt>
+ <dd>在插入点插入一张图片(删除选中的部分)。需要一个 URL 字符串作为参数。这个 URL 图片地址至少包含一个字符。空白字符也可以(IE会创建一个链接其值为null)</dd>
+ <dt><code>insertOrderedList</code></dt>
+ <dd>在插入点或者选中文字上创建一个有序列表</dd>
+ <dt><code>insertUnorderedList</code></dt>
+ <dd>在插入点或者选中文字上创建一个无序列表。</dd>
+ <dt><code>insertParagraph</code></dt>
+ <dd>在选择或当前行周围插入一个段落。(IE会在插入点插入一个段落并删除选中的部分.)</dd>
+ <dt><code>insertText</code></dt>
+ <dd>在光标插入位置插入文本内容或者覆盖所选的文本内容。</dd>
+ <dt><code>italic</code></dt>
+ <dd>在光标插入点开启或关闭斜体字。 (Internet Explorer 使用 EM 标签,而不是 I )</dd>
+ <dt><code>justifyCenter</code></dt>
+ <dd>对光标插入位置或者所选内容进行文字居中。</dd>
+ <dt><code>justifyFull</code></dt>
+ <dd>对光标插入位置或者所选内容进行文本对齐。</dd>
+ <dt><code>justifyLeft</code></dt>
+ <dd>对光标插入位置或者所选内容进行左对齐。</dd>
+ <dt><code>justifyRight</code></dt>
+ <dd>对光标插入位置或者所选内容进行右对齐。</dd>
+ <dt><code>outdent</code></dt>
+ <dd>对光标插入行或者所选行内容减少缩进量。</dd>
+ <dt><code>paste</code></dt>
+ <dd>在光标位置粘贴剪贴板的内容,如果有被选中的内容,会被替换。剪贴板功能必须在 user.js 配置文件中启用。参阅 [1].</dd>
+ <dt><code>redo</code></dt>
+ <dd>重做被撤销的操作。</dd>
+ <dt><code>removeFormat</code></dt>
+ <dd>对所选内容去除所有格式</dd>
+ <dt><code>selectAll</code></dt>
+ <dd>选中编辑区里的全部内容。</dd>
+ <dt><code>strikeThrough</code></dt>
+ <dd>在光标插入点开启或关闭删除线。</dd>
+ <dt><code>subscript</code></dt>
+ <dd>在光标插入点开启或关闭下角标。</dd>
+ <dt><code>superscript</code></dt>
+ <dd>在光标插入点开启或关闭上角标。</dd>
+ <dt><code>underline</code></dt>
+ <dd>在光标插入点开启或关闭下划线。</dd>
+ <dt><code>undo</code></dt>
+ <dd>撤销最近执行的命令。</dd>
+ <dt><code>unlink</code></dt>
+ <dd>去除所选的锚链接的&lt;a&gt;标签</dd>
+ <dt><code>useCSS</code> {{Deprecated_inline}}</dt>
+ <dd>切换使用 HTML tags 还是 CSS 来生成标记. 要求一个布尔值 true/false 作为参数。注: 这个属性是逻辑上的倒退 (例如. use false to use CSS, true to use HTML).(IE不支持)<br>
+ 该属性已经废弃,使用 styleWithCSS 代替。</dd>
+ <dt><code>styleWithCSS</code></dt>
+ <dd>用这个取代 useCSS 命令。 参数如预期的那样工作, i.e. true modifies/generates 风格的标记属性, false 生成格式化元素。</dd>
+</dl>
+
+<h2 id="示例">示例</h2>
+
+<p>CodePen 中关于 <a href="http://codepen.io/netsi1964/full/QbLLGW/">如何使用</a> 如何使用的一个例子。</p>
+
+<h2 id="规范">规范</h2>
+
+<table class="spectable standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">规范</th>
+ <th scope="col">状态</th>
+ <th scope="col">注释</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML Editing', '#execcommand()', 'execCommand')}}</td>
+ <td>{{Spec2('HTML Editing')}}</td>
+ <td>Initial definition</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<p>{{Compat("api.Document.execCommand")}}</p>
+
+<h2 id="参阅">参阅</h2>
+
+<ul>
+ <li>{{domxref("HTMLElement.contentEditable")}}</li>
+ <li>{{domxref("document.designMode")}}</li>
+ <li><a href="/en-US/docs/Rich-Text_Editing_in_Mozilla">Rich-Text Editing in Mozilla</a></li>
+ <li><a href="https://github.com/guardian/scribe/blob/master/BROWSERINCONSISTENCIES.md">Scribe's "Browser Inconsistencies" documentation</a> with bugs related to <code>document.execCommand</code>.{{CompatUnknown}}</li>
+</ul>