我在互联网上寻找这个问题的答案,但是,唉,我被迫寻求帮助。
我使用cleditor jQuery插件进行Rich Text / HTML编辑功能。在大多数情况下,它工作正常。但是,如果我在IE9中执行以下操作,则会出现一个奇怪的问题:
粘贴以下代码段:
<p>Note the double-quotes</p>
<div onclick='alert("hi")'>click me</div>
切换回富文本模式并进行微不足道的更改(例如,添加空格)
请注意双引号现在如何错误地转义如下:
<div onclick="alert(\"hi\")">click me</div>
这到底是怎么回事?其他浏览器正确地逃避双引号:
<div onclick="alert("hi")">click me</div>
我试图使用实体"
,我自己但没关系 - IE9仍然让它变得混乱。有谁知道如何克服这个问题?
答案 0 :(得分:0)
没关系,我明白了。如果其他人正在努力解决这个问题,我认为这是使用cleditor,XHTML插件和Internet Explorer的组合。
您可以通过在您的主编代码之前添加此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, """);
} else {
return html;
}
};
})(jQuery);
或者,您可以在jquery.cleditor.js中进行条件替换(第1126行为cleditor v1.3.0)。