Javascript:document.execCommand跨浏览器?

jld*_*ont 63 javascript cross-browser

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

document.execCommand('Copy');

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

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


我找到了一个显示兼容性矩阵的页面document.execCommand.

pel*_*ler 27

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

  • 对于那些想要深入了解它的人,我遇到了以下[代码笔](http://codepen.io/netsi1964/pen/QbLLGW),它给出了不同浏览器可用的不同execCommand的相当好的细分. (3认同)

小智 5

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

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

然后你有uiBoolwhich 是指定是否应该显示默认用户界面的布尔值。

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

例子:

document.getElementById("whateverID").document.execCommand('bold', false, null);
Run Code Online (Sandbox Code Playgroud)

或者:

document.getElementById("whateverID").document.execCommand('bold', false, <a variable nae>);
Run Code Online (Sandbox Code Playgroud)