编程语言
首页 > 编程语言> > 如何从JavaScript剪切,复制和粘贴到用户的剪贴板

如何从JavaScript剪切,复制和粘贴到用户的剪贴板

作者:互联网

stackoverflow中有multiple similar questions,它处理如何从JavaScript剪切,复制和粘贴(例如,响应按钮按下),而用户不必使用CTRL X,C或V.

所有这些答案都表明你想要这样做是疯了,用户不应该以这种亵渎的方式违反他们的剪贴板,或者使用隐形Flash电影的黑客(这有可疑的支持).

但是,Google Docs会这样做,并且不会使用Flash电影.您可以打开Goog​​le文档,转到“编辑”菜单,选择“粘贴”(或剪切或复制),然后不会出现一个浏览器窗口,告诉您“您的浏览器安全设置不允许编辑器自动执行复制操作”.

但是,转到另一个富文本编辑器(例如,CKEditorTinyMCE,但这在所有这些中很常见)并尝试相同的命令.您将收到一条消息:

“您的浏览器安全设置不允许编辑器自动执行复制操作.”

所以问题很简单:Google Docs通过不会遇到安全问题的菜单按钮允许用户剪切,复制和粘贴的内容是什么?

解决方法:

快速查看我的所有浏览器都会显示我已安装Google文档扩展程序.我知道有一个事实可以使用扩展(浏览器扩展在不同的,更“受信任的”沙箱中播放),你可以(并且人们)使用这些扩展来向其中使用的javascript公开API.安装扩展的浏览器中的站点.

基于这样一个事实,我肯定有谷歌的扩展,允许在我的所有浏览器中“查看和编辑谷歌文档” – 这就是他们这样做的方式.构建浏览器的扩展是每个浏览器项目,您在一个浏览器中为扩展编写的代码通常只是部分可移植的.

Google之所以这样做是因为它的用户群本质上信任它,因此他们乐意下载并安装谷歌发布的必要扩展和插件,用于不同的基于Web的服务,这些服务超出了标准Web技术的能力.我们相信谷歌不会得到我们的东西.

所以简短的回答是:你不能这样做.除非您准备为Chrome,Firefox,Safari,IE8等编写必要的扩展/插件… Google的工作原理是因为您的浏览器中安装了名为Google Docs的扩展程序. (IE,在谷歌浏览器中导航到chrome:// extensions /以查看您自己的谷歌文档扩展名).

如果您想尝试为Chrome浏览器编写扩展程序,visit their guide on how to do so!可以预先警告,安装扩展程序会对用户产生很大的信任,并且不应该在任何“销售漏斗”中提前使用.

编辑:因为我对语法正确的英语很恐怖

标签:javascript,tinymce,ckeditor,google-docs
来源: https://codeday.me/bug/20190628/1319424.html