Javascript:document.execCommand跨浏览器?

时间:2009-11-30 01:22:51

标签: javascript cross-browser

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

document.execCommand('Copy');

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

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


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

3 个答案:

答案 0 :(得分:27)

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

答案 1 :(得分:4)

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

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

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

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

示例:

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

或:

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

答案 2 :(得分:3)

更新:document.execCommand中记录了{{1}},但其描述与MSDN文档略有不同。

我仍然非常确定它不符合ECMA-262标准。