首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Internet 9中使用cleditor会导致双引号被错误转义。

问在Internet 9中使用cleditor会导致双引号被错误转义。
EN

Stack Overflow用户
提问于 2013-03-20 22:13:12
回答 1查看 260关注 0票数 0

我在互联网上搜索了这个问题的答案,但是,唉,我不得不寻求帮助。

我正在使用剪贴器 jQuery插件来实现它的富文本/HTML编辑功能。在大多数情况下,它工作得很好。但是,如果我在IE9中执行以下操作,就会出现一个奇怪的问题:

  1. 单击工具栏右上角的“显示源”按钮,切换到HTML模式
  2. 粘贴以下片段:
  3. 切换回富文本模式,并做一个简单的更改(例如,添加一个空格)
  4. 再次切换到HTML模式

请注意,双引号现在是如何被错误地转义的:

代码语言:javascript
复制
<div onclick="alert(\"hi\")">click me</div>

这到底是怎么回事?其他浏览器正确地避开双引号,如下所示:

代码语言:javascript
复制
<div onclick="alert(&quot;hi&quot;)">click me</div>

我试着用这个实体,&quot;,我自己,但没关系-- IE9还是搞砸了。有人知道如何克服这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-22 18:04:15

不介意,我想出来了。如果其他人正在为这个问题而挣扎,我认为这是使用cleditor、XHTML插件和Internet的结合。

您可以通过在cleditor代码之前添加这个JavaScript片段来修复它:

代码语言:javascript
复制
(function ($) {
    var oldCallback = $.cleditor.defaultOptions.updateTextArea;

    $.cleditor.defaultOptions.updateTextArea = function (html) {
        if (oldCallback) {
            html = oldCallback(html);
        }

        var isIE = /*@cc_on!@*/false;
        if (isIE) {
            return html.replace(/\\\"/g, "&quot;");
        } else {
            return html;
        }
    };
})(jQuery);

或者,您可以在jquery.cleditor.js中执行条件替换( cleditor v1.3.0的第1126行)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15535779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档