TinyMCE 和 IE 9 问题
Posted
技术标签:
【中文标题】TinyMCE 和 IE 9 问题【英文标题】:TinyMCE and IE 9 Issue 【发布时间】:2013-04-25 20:23:14 【问题描述】:我在页面中有 TinyMCE 4.0,当我选择文本并尝试通过 CTRL+V 粘贴它时,我收到一条错误消息,提示“无法访问剪贴板”。这发生在 IE8/9 中。然而,在 Chrome 中同样可以正常工作。有什么解决方法可以让它在 IE 中运行吗?
赏金:
我尝试在两台运行 IE9 的不同计算机上重置所有 IE 设置(通过 Internet 选项->高级->全部重置...),其中一台有问题,而另一台没有。
最终,我需要能够将格式化文本(通常带有项目符号或数字列表等)粘贴到 TinyMCE 中,并使其正确格式化。为此,我正在使用 paste 插件,它似乎正在抛出错误。
【问题讨论】:
@Travesty3 您是否已经通过 TinyMCE live demo 检查了 CTRL+V 是否在您的 IE 中工作? @Enzino:不,我没试过。好建议……我会在星期一试试。 【参考方案1】:在我看来,您使用的是较旧的 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)
)
找不到此脚本的未缩小版本,我无法说明为什么此类代码会失败,也无法解释为什么它只能在您的一台计算机上运行。
【讨论】:
也许吧。我的版本只是说4.0 (2013-06-13)
。也许那是 4.0.0。我会在星期一尝试更新,看看是否可以解决它。谢谢!【参考方案2】:
在 Internet Explorer 的“工具”菜单中,选择“Internet 选项”。 单击“安全”选项卡。 单击受信任的站点。 单击站点...按钮。 在第一个字段中输入您的域名(例如 widgetdesigns.com),然后点击添加。 取消选中此区域中的所有网站都需要服务器验证 (https:) 的复选框。 单击“确定”以应用您的更改。 返回“安全”选项卡,确认受信任站点仍处于选中状态,然后单击“自定义级别”按钮。 向下滚动安全部分(靠近底部)并选中允许编程剪贴板访问下方的禁用框。 (选中此框将仅对您的受信任站点列表中的站点禁用访问警报。) 单击“确定”,然后再次单击“确定”以应用您的更改。 那这个呢?这行得通吗?
【讨论】:
也试过了。同样的问题。 那我猜可能是其他问题!这是唯一击中我的两种方式。对不起。以上是关于TinyMCE 和 IE 9 问题的主要内容,如果未能解决你的问题,请参考以下文章