Javascript:document.execCommand跨浏览器?

Javascript:document.execCommand跨浏览器?,javascript,cross-browser,Javascript,Cross Browser,我只是偶然发现了一段我从未见过的代码: document.execCommand('Copy') 它似乎将剪贴板内容复制到焦点中的元素 此功能是否可跨浏览器使用 我发现它显示了document.execCommand的兼容性矩阵更新:嗯,document.execCommand在中有文档记录,但其描述与MSDN文档略有不同 我仍然非常确定它不在ECMA-262标准中。这是用于“设计模式”,浏览器可以有效地将文档转换为编辑器。execCommand API起源于IE,后来被精确地定义为支持哪些命

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

document.execCommand('Copy')

它似乎将剪贴板内容复制到焦点中的元素

此功能是否可跨浏览器使用



我发现它显示了
document.execCommand

的兼容性矩阵更新:嗯,
document.execCommand
在中有文档记录,但其描述与MSDN文档略有不同


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

这是用于“设计模式”,浏览器可以有效地将文档转换为编辑器。execCommand API起源于IE,后来被精确地定义为支持哪些命令,以及它们在不同浏览器中的行为。剪贴板访问被认为是一种安全风险。

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

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

然后是
uiBool
,这是一个布尔值,用于指定是否应显示默认用户界面

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

例如:

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

document.getElementById(“whateverID”).document.execCommand('bold',false,);

为什么Mozilla.org上会出现一些小问题?为什么DOM方法会采用语言标准?我很确定
文档
窗口
也不是ECMA-262标准的一部分。@Elijah Grey:说得好。JavaScript语言由ECMA标准化,而DOM由W3C标准化。但是我认为
document.execCommand
也不在W3CDOM标准中。(快速查看w3c.org上的DOM-1规范似乎证实了这一点。)问题是关于浏览器支持,而不是标准。剪贴板访问:我认为这就是安全风险。谢谢对于那些想进一步研究它的人来说,我遇到了以下内容,它提供了不同浏览器可用的不同execCommand的一个很好的分类。在同一个浏览器上发现了一个漏洞:Link很有趣,但它太旧了,只包括firefox 2,根本不包括chrome。有人知道更晚的矩阵吗?看到了吗
document.getElementById("whateverID").document.execCommand('bold', false, <a variable nae>);