javascript - TinyMCE 和 IE 9 问题

标签 javascript jquery internet-explorer tinymce

我的页面中有 TinyMCE 4.0,当我选择文本并尝试通过 CTRL+V 粘贴它时,我收到一条错误消息,指出“无法访问剪贴板”。这种情况发生在 IE8/9 中。然而,在 Chrome 中同样可以正常工作。是否有任何解决方法可以使其在 IE 中正常运行?


赏金:

我尝试在两台不同的计算机上重置所有 IE 设置(通过“Internet 选项”->“高级”->“全部重置...”),两台计算机都运行 IE9,其中一台有问题,而另一台则没有。

最终,我需要能够将格式化文本(通常带有项目符号或数字列表等)粘贴到 TinyMCE 中并使其正确格式化。为此,我使用了paste插件,它似乎抛出了错误。

最佳答案

在我看来,您使用的是较旧的 TinyMCE 4 版本,因此我认为您应该首先升级到 latest version (4.0.3)。
我检查了该版本的源代码,没有发现 Clipboard access not possible 错误消息的痕迹,该消息似乎出现在 tinymce/的早期版本中plugins/paste/plugin.min.js 文件,仅适用于 Internet Explorer:

e.ie ? o.on("init", function () {
   var e = o.dom;
   o.dom.bind(o.getBody(), "paste", function (n) {
      var r;
      if (n.preventDefault(), a() && e.doc.dataTransfer) 
         return c(e.doc.dataTransfer.getData("Text")), t;
      var i = u();
      e.bind(i, "paste", function (e) {
         e.stopPropagation(), r = !0
      });
      var s = o.selection.getRng(),
          f = e.doc.body.createTextRange();
      if (f.moveToElementText(i.firstChild), f.execCommand("Paste"), d(), !r) 
         return o.windowManager.alert("Clipboard access not possible."), t;
      var p = i.firstChild.innerHTML;
      o.selection.setRng(s), l(p)
   })
}

由于无法找到此脚本的未缩小版本,我无法说出为什么此类代码会失败,也无法解释为什么它只能在您的一台计算机上运行。

关于javascript - TinyMCE 和 IE 9 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16224054/

相关文章:

javascript - IE 中的嵌套跨度鼠标悬停问题

javascript - 单击小图像并覆盖大图像

javascript - 优化 Canvas 中的文本渲染 - truetype 与位图字体的渲染速度

javascript - 设置输入的 "type"属性不适用于 jQuery attr() 方法

javascript - 在打开链接之前执行 jQuery 事件

html - IE11 条件 CSS 注释不起作用

.net - 如何在运行的 "Internet Explorer_Server"实例中控制光学变焦?

javascript - Material UI 全局 css 变量

javascript - 如何在 chrome 扩展中阻止内联 javascript?

java - 为什么我的 formdata.append 没有将键值对发送到服务器?