尝试在内容可编辑的分区中使用document.execCommand粘贴文本.适用于Chrome,而不是IE.我使用的是

Trying to paste a text using document.execCommand in a conteneditable Div. works in Chrome, not in IE. I am using AngularJS

本文关键字:适用于 文本 Chrome IE document 编辑 分区 execCommand      更新时间:2023-09-26

对于一些处理,我们已经利用了ng-paste事件。阻止了其默认行为。如果粘贴的文本有效(最大长度限制),我们需要删除该文本的所有格式,并将纯文本添加到contenteditable div/span

document.execCommand("insertText", false, inputText);
document.execCommand("insertHTML", false, inputText);

这两个选项都适用于Chrome。在IE中,我们收到来自$sce服务的错误。

[$sce:insecurl] Blocked loading resource from url not allowed by $sceDelegate policy.

我现在完全不知道。感谢您的帮助。如果我不清楚,请随时发表评论,我会更新问题。

谢谢。

好吧,IT没有魔法。总是"使用源代码"!https://github.com/angular/angular.js/blob/master/src/ng/sce.js#L365.

它表明,$sce试图保护您的网站不插入(可能是恶意的)url。请看一下严格上下文转义。它在带有怪癖模式的IE8中不受支持,这可能就是您的解决方案在那里工作的原因。基本上,你有两个选择:

  1. 将特定URL添加到白名单
  2. 完全禁用$sce(不推荐)
相关文章: