TinyMCE粘贴按钮仅适用于Internet Explorer

时间:2017-01-04 07:42:19

标签: javascript jquery tinymce paste

当我使用TinyMCE工具栏中的粘贴按钮时,它说“您的浏览器不支持直接访问剪贴板。请改用Ctrl + X / C / V键盘快捷键。”它在IE中完美运行。有没有办法让粘贴按钮在Chrome和FF中有用?也许使用自定义按钮执行适用于现代浏览器的jQuery粘贴功能。

editor.addButton('paste', {
  icon: 'paste',
  onclick: function () {
    pastecontent();
  } 
});

function pastecontent(){
   // get clipboard content
}

3 个答案:

答案 0 :(得分:2)

正如来自编辑的消息所说,这仅仅限制了某些浏览器中您可以/不能直接通过JavaScript执行的操作。无论你是否使用jQuery,你仍然使用JavaScript,因此存在潜在的限制。

想象一下,如果您的任意JavaScript可以随时访问剪贴板,您可以做些什么? “糟糕的人”不遵守规则,所以如果(在加载网页时)他们有JavaScript从剪贴板中抓取所有东西并将其发送到他们的服务器?随着时间的推移,浏览器制造商意识到直接访问剪贴板是“糟糕的”......通过让用户键入CRTL+C and CRTL+V,您有效地告诉浏览器您希望它访问剪贴板。

答案 1 :(得分:1)

如果tinyMce编辑器或一般网页可以获得“粘贴”结果,那么任何网站都可以窃取您的剪贴板数据(您可能会在剪贴板中复制敏感数据!)。这就是您无法通过javascript触发粘贴事件的原因。

关于此安全限制,允许使用内部Web浏览器的原生应用程序执行此操作!

答案 2 :(得分:0)

旁注:如果禁用contextmenu,则ctrl + v键绑定粘贴将照常工作。