【问题标题】:Javascript: document.execCommand cross-browser?Javascript:document.execCommand 跨浏览器?
【发布时间】:2010-12-21 12:09:17
【问题描述】:

我偶然发现了一段我以前从未见过的代码:

document.execCommand('Copy');

这似乎将剪贴板内容复制到焦点元素。

这个功能可以跨浏览器使用吗?


我发现a page 显示了document.execCommand 的兼容性矩阵。

【问题讨论】:

标签: javascript cross-browser


【解决方案1】:

这适用于“设计模式”,浏览器可以有效地将文档转换为编辑器。 execCommand API 起源于 IE,后来被added to HTML5. 确切支持哪些命令,以及它们的行为因浏览器而异。剪贴板访问被视为安全风险。

【讨论】:

【解决方案2】:

是的,我在 IE、Chrome、Safari 中使用过它。如果它适用于这些浏览器,那么它应该适用于其余浏览器。无论如何,document 对象的execCommand 方法用于执行与浏览器中内置的富文本编辑功能相关的命令。 execCommand 的语法如下:document.execCommand(command, uiBool, argument)

command参数是要执行的命令——粗体、下划线、字体等

然后你有uiBool,它是一个布尔值,指定是否应显示默认用户界面。

最后一个参数是一些需要我们传递参数的命令的参数。如果命令不需要任何参数,我们将传递一个值 null 作为第三个参数。

例子:

document.getElementById("whateverID").document.execCommand('bold', false, null);

或:

document.getElementById("whateverID").document.execCommand('bold', false, <a variable nae>);

【讨论】:

    【解决方案3】:

    更新:document.execCommand 记录在 the Mozilla DOM documentation 中,但那里的描述与 MSDN 文档略有不同。

    我仍然很确定它不在 ECMA-262 标准中。

    【讨论】:

    • Mozilla.org 上怎么会有一些小插曲? developer.mozilla.org/En/Document.execCommand
    • 为什么 DOM 方法会采用语言标准?我很确定 documentwindow 也不属于 ECMA-262 标准。
    • @Elijah Grey:好点。 JavaScript 语言由 ECMA 标准化,而 DOM 由 W3C 标准化。但我认为document.execCommand 也不属于 W3C DOM 标准。 (快速查看 w3c.org 上的 DOM-1 规范似乎证实了这一点。)
    • 问题是关于浏览器支持,而不是标准。
    猜你喜欢
    • 2011-11-15
    • 2011-06-08
    • 2011-03-03
    • 2012-09-30
    • 2013-05-12
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    相关资源
    最近更新 更多