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>);