使用CKEditor 4.3.2和ASP.NET - 将鼠标移动到右侧会导致服务器上的IE9中的事件错误,但不会导致本地错误

时间:2014-03-07 13:25:12

标签: jquery ckeditor ckeditor.net

所以我在我的ASP.NET应用程序中使用CKEditor 4.3.2。当我在本地运行应用程序时,它在IE9中运行正常。当我将它发布到服务器并用IE9点击并点击IE9中的ckeditor文本区域然后将鼠标移到(仅文本区域的右边缘)时,我得到下面的弹出错误:

SCRIPT438:对象不支持属性或方法'contains' ckeditor.js,第78行第434页

有关如何解决此问题的任何想法? - 谢谢

这是我进入调试模式时出现错误的代码块,我在ckeditor.js中有粗体下面抱怨的那一行。

dClass:function(a){var b = this。$。className; b&amp;&amp;(RegExp(“(?:^ | \ s)”+ a +“(?:\ s | $)”, “”)。test(b)||(b = b +(“”+ a))); this。$。className = b || a},removeClass:function(a){var b = this.getAttribute(“类 “);如果(b){A =正则表达式(”(?:^ | \ S +) “+ A +”(?= \ S | $)”, “I”);如果(a.test(b))的(b = b.replace(a,“”)。replace(/ ^ \ s + /,“”))?this.setAttribute(“class”,b):this.removeAttribute(“class”)} return this}, hasClass:function(a){return RegExp(“(?:^ | \ s +)”+ a +“(?= \ s | $)”,“”)。test(this.getAttribute(“class”))}, append:function(a,b){typeof a ==“string”&amp;&amp;(a = this.getDocument()。createElement(a)); b?this。$。insertBefore(a。$,this。$ 。第一个孩子): 这个。$。appendChild(a。$);返回一个},appendHtml:function(a){if(this。$。childNodes.length){var b = new CKEDITOR.dom.element(“div”,this.getDocument ()); b.setHtml(a); b.moveChildren(this)} else this.setHtml(a)},appendText:function(a){this。$。text!= void 0?this。$。text =这。$。text + a:this.append(new CKEDITOR.dom.text(a))},appendBogus:function(a){if(a || CKEDITOR.env.needsBrFiller || CKEDITOR.env.opera){用于:(a = this.getLast(); A和&安培; a.type == CKEDITOR.NODE_TEXT&安培;&安培;!CKEDITOR.tools.rtrim(a.getText());)A = a.getPrevious();如果( !一个||!燃着了|| !a.is( “BR”)){A = CKEDITOR.env.opera this.getDocument()createText( “”):this.getDocument()的createElement( “?。BR”); CKEDITOR.env.gecko&安培; &amp; a.setAttribute(“type”,“_ moz”); this.append(a)}}},breakParent:function(a){var b = new CKEDITOR.dom.range(this.getDocument()); b .setStartAfter(本); b.setEndAfter的(a); A = b.extractContents(); b.insertNode(this.remove()); a.insertAfterNode(本)},包含:CKEDITOR.env.ie || CKEDITOR .env.webkit?function(a){var b = this。$; return a.type!= CKEDITOR.NODE_ELEMENT?b.contains(a.getParent()。$):b!= a。$&amp;&amp; b.contains(a。$)}:function(a){return !!(this。$。compareDocumentPosition(a。$)&amp; 16)},focus:function(){function a (){try {this。$。focus()} catch(b){}} return function(b){b?CKEDITOR.tools.setTimeout(a,100,this):a.call(this)}}( ),getHtml:function(){var a = this。$。innerHTML; return CKEDITOR.env.ie?a.replace(/<\?[^>]>/g,""):): a},getOuterHtml:function(){if(this。$。outerHTML)返回此。$。outerHTML.replace(/&lt; \?[^&gt;] &gt; /,“”); var a = this。$。ownerDocument.createElement(“div”); a.appendChild(this。$ .cloneNode(true)); return a.innerHTML},

...

1 个答案:

答案 0 :(得分:0)

这里有两种可能的解决方案。

从下载页面重新下载CKEditor,替换旧版本 安装(记得备份配置文件),清除 浏览器的缓存现在应该没问题了。

某些版本的CKEditor存在SSL问题。这将解决这个问题。

- 或 -

当您在服务器网站上时,清除IE中的浏览器缓存CTRL + SHIFT + DEL