Document.execCommand()

已過時
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

當 HTML 文件(document)被切換到 designMode 時,它的 document 物件就會對外暴露 execCommand 方法作為操控目前可編輯區域的指令,譬如 form inputscontentEditable 元素。

多數的指令會作用在文件的選取 (粗體、斜體等),而其他則像是插入新的元素(新增一個連結)或是影響一整列的文字(縮排)。當使用 contentEditable 時, execCommand() 會作用在目前活躍的可編輯元素上。

語法

document.execCommand(aCommandName, aShowDefaultUI, aValueArgument)

回傳值

如果該指令不被支援或停用將回傳一個 falseBoolean 值。

備註:只有在使用者互動的部分回傳 true 。請不要嘗試在呼叫指令前使用回傳值來確認瀏覽器是否支援。

參數

aCommandName
一個 DOMString 作為指定要執行的指令。所有可用的指令列表請見 Commands
aShowDefaultUI
一個 Boolean 作為指示是否顯示預設的使用者介面。 Mozilla 並未實作這項功能。
aValueArgument
針對需要提供輸入引數的指令,藉由 DOMString 提供相關的資訊。譬如, insertImage 需要提供圖片的 URL 。若沒有引數的需求則可指定為 null

指令

backColor
變更文件的背景色彩。在 styleWithCss 模式中,它作用於涵蓋區域的背景色彩。這個指令需要提供一個 <color> 值字串作為引數值。請留意, Internet Explorer 使用這個指令作為設定文字的背景色彩。
bold
切換選取區域插入點的粗體與否。 Internet Explorer 使用 <strong> 標籤而不是 <b>.
ClearAuthenticationCache
清除所有快取中的驗證憑證。
contentReadOnly
使內容文件成為唯讀或可編輯。此指令需要提供布林值 true/false 作為引數值。(Internet Explorer 不支援)。
copy
複製目前選取的區域到剪貼簿。各個瀏覽器對於這個指令的行為可能有所差異且不斷變更。如果你有使用這個指令的情境,請先查閱相容性表格來決定如何使用。
createLink
對選取的區域建立超連結,僅限於有選取內容。需要提供一個 URI 字串值作為超連結的 href 。 URI 必須最少包含一個字元且可以是空白字元(Internet Explorer 會建立一個 null 值的連結)。
cut
移除目前選取的區域並複製到剪貼簿。各個瀏覽器對於這個指令的行為可能有所差異且不斷變更。使用細節請查閱相容性表格
decreaseFontSize
在選取區域或插入點的前後加入一個 <small> 標籤( Internet Explorer 不支援)
defaultParagraphSeparator
變更可編輯文字區域於新增段落時的段落分隔器。更多細節請查閱 產生 markup 的區別
delete
刪除目前選取的區域。
enableAbsolutePositionEditor
啟用或停用用於移動絕對定位元素的抓取器。這個指令在 Firefox 63 Beta/Dev 版本中預設停用(bug 1449564)。
enableInlineTableEditing
啟用或停用表格的列 / 欄的插入及刪除。此指令在 Firefox 63 Beta/Dev 版本中預設停用 (bug 1449564)。
enableObjectResizing
啟用或停用圖片、表格、絕對定位元素、其他可重設大小物件的重設大小處理。此指令在 Firefox 63 Beta/Dev 版本中預設停用 (bug 1449564)。
fontName
變更選取區域或插入點的字型名稱。此指令需要字型名稱字串(如「Arial」)作為引數值。
fontSize
變更選取區域或插入點的字型大小。此指令需要 1-7 的整數作為引數值。
foreColor
變更選取區域或插入點的字型色彩。此指令需要十六進位的色彩字串作為引數值。
formatBlock
在目前選取區域的前後加入一個 HTML 區塊層級元素,若選取區域已經存在區塊元素則取代之。(在 Firefox 中, <blockquote> 是個例外——它會包裹住任何所包含的區塊元素)。 此指令需要一個標籤名稱字串作為引數值。幾乎所有區塊層級元素都可以使用(Internet Explorer and Edge 僅支援標題標籤 H1H6ADDRESSPRE 且必須由角括號包裹起來,譬如 "<H1>" )。
forwardDelete
刪除游標位置後的字元,等同於在 Windows 按下 Delete 鍵盤按鍵。
heading
在選取區域或插入點前後加入一個標題元素。此指令需要標籤名稱字串作為引數值(例:"H1", "H6" )(Internet Explorer 及 Safari 不支援)。
hiliteColor
變更選取區域或插入點的背景色彩。此指令需要一個色彩字串作為引數值。 useCSS 必須為 true 才能有作用(Internet Explorer 不支援)。
increaseFontSize
在選取區域或插入點前後加入一個 <big> 標題(Internet Explorer 不支援)。
indent
縮排選取區域或插入點所包含的列。在 Firefox ,如果選取的範圍跨越多列且不同的縮排層級,只有選取中最淺層縮排列的才會被縮排。
insertBrOnReturn
控制 Enter 按鍵按下時在目前區塊元素中插入 <br> 元素或分割成為兩個元素(Internet Explorer 不支援)。
insertHorizontalRule
在插入點插入一個 <hr> 元素或以它取代選取的內容。
insertHTML
在插入點插入一個 HTML 字串(會刪除選取內容)需要一個有效的 HTML 字串作為引數值(Internet Explorer 不支援)。
insertImage
在插入點插入一個圖片(會刪除選取內容)。需要一個 URL 字串作為圖片的 src 引數值。這個需求跟 createLink 的字串是一樣的。
insertOrderedList
在選取區域或插入點建立一個有序的清單
insertUnorderedList
在選取區域或插入點建立一個無序的清單
insertParagraph
在選取區域或目前列的前後插入段落(Internet Explorer 會在插入點插入段落並刪除選取的內容)。
insertText
在插入點處插入給予的純文字(選取內容將被刪除)。
italic
切換選取區域或插入點的斜體開關(Internet Explorer 使用 <em> 元素而不是 <i> )。
justifyCenter
置中對齊選取區域或插入點的內容。
justifyFull
左右對齊選取區域或插入點的內容。
justifyLeft
靠左對齊選取區域或插入點的內容。
justifyRight
靠右對齊選取區域或插入點的內容。
outdent
凸排選取區域或插入點所包含的列。
paste
在目前的插入點貼上剪貼簿的內容(取代目前選取的項目)。網頁內容無法使用。詳閱 [1]。
redo
復原上一個取消的指令。
removeFormat
移除目前選取區域所有的格式。
selectAll
選取可編輯區域的所有內容。
strikeThrough
切換選取區域或插入點的刪除線開關。
subscript
切換選取區域或插入點的 subscript 開關。
superscript
切換選取區域或插入點的 superscript 開關。
underline
切換選取區域或插入點的底線開關。
undo
取消上一個執行的指令。
unlink
從選取的超連結刪除錨點元素
useCSS
針對產生的 markup 使用 HTML 標籤或 CSS。此指令需要一個布林值 true/false 作為引數值。
注意:這個引述在邏輯上是反向的(舉例:使用 false 會使用 CSS ,反之使用 true 則使用 HTML 且 Internet Explorer 不支援。這個指令已經被棄用並由 styleWithCSS 取而代之。
styleWithCSS
取代 useCSS 的指令。 true 會在 markup 修改 / 產生 style 屬性, false 會產生展示用的元素。

範例

一個在 CodePen 上展示如果使用的範例。

規格

規格 狀態 備註
execCommand

瀏覽器相容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
execCommand
DeprecatedNon-standard
Chrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 9Safari Full support 1.3WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0
ClearAuthenticationCache command
DeprecatedNon-standard
Chrome No support NoEdge No support 12 — 79Firefox No support NoIE Full support 6Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
copy command
DeprecatedNon-standard
Chrome Full support 42Edge Full support 12Firefox Full support 41IE Full support 9Opera Full support 29Safari Full support 10WebView Android Full support 42Chrome Android Full support 42Firefox Android Full support 41Opera Android Full support 29Safari iOS Full support 10Samsung Internet Android Full support 4.0
cut command
DeprecatedNon-standard
Chrome Full support 42Edge Full support 12Firefox Full support 41IE Full support 9Opera Full support 29Safari Full support 10WebView Android Full support 42Chrome Android Full support 42Firefox Android Full support 41Opera Android Full support 29Safari iOS Full support 10Samsung Internet Android Full support 4.0
defaultParagraphSeparator command
DeprecatedNon-standard
Chrome No support NoEdge No support ≤18 — 79Firefox Full support 55IE No support NoOpera Full support YesSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 55Opera Android Full support YesSafari iOS No support NoSamsung Internet Android No support No
insertBrOnReturn command
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support YesIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support YesOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support  
Full support
No support  
No support
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.

相關資訊