解決FCKEditor在IE10、IE11下的不兼容問題

今天有編輯反映網站後臺的網頁編輯器無法顯示了,原來是編輯自己的電腦升級了ie到IE10或IE11版本,這裏特總結下多種解決方法,需要的朋友可以參考下

第一種方法、瀏覽器設置兼容模式

打開IE,點擊“工具”菜單,選擇“兼容性視圖設置”,勾選“在兼容性視圖中顯示所有網站”選項即可。


第二種方法、在使用編輯器的網頁的:

<meta http-equiv="Content-Type" content="text/html; charset=gbk">
下面加
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

第三種方法、修改編輯器本身JS文件:

修改編輯器目錄下的 /editor/js/fckeditorcode_ie.js 文件,查找
B.open("GET",A,false);
在後面加上:
try{B.responseType='msxml-document';}catch(e){}
即爲如下:
B.open("GET",A,false);try{B.responseType='msxml-document';}catch(e){}B.send(null);

第四種方法:下載安裝百度瀏覽器

百度瀏覽器確實不錯,網頁兼容比較好,而且支持國外網站加速,不用任何插件就可以打開google adsense,方便站長朋友。

下載地址://www.jb51.net/softs/175321.html

下面都是一些網頁的補充:如果上面的還是不行可以參考下面的方法,其實我想說的是上面的方法不行的話,基本上就很難解決了,網站後臺人員的使用瀏覽器真不能隨便更新。

使用版本

fckeditor2.6.2

//IE10 bug 修復

1.在 fckeditor.js 文件 > 方法: FCKeditor_IsCompatibleBrowser

找到這行 >>

var sBrowserVersion = navigator.appVersion.match(/MSIE (…)/)[1] ;

替換成 >>

var sBrowserVersion = navigator.appVersion.match(/MSIE ([\d.]+)/)[1] ;

2.在fckeditorcode_ie.js這個文件

找到

e.scopeName!='HTML'

把if條件換成

if(FCKBrowserInfo.IsIE&& e.scopeName && e.scopeName!='HTML')

找到

D.parentElement().document!=B

把if條件換成

if(D.parentElement().document && D.parentElement().document!=B)

找到

B.open("GET",A,false);

添加下面紅色部分

B.open("GET",A,false);

try {

B.responseType = "msxml-document";

} catch(e) {}

B.send(null);

清理瀏覽器緩存,看看是否已經解決了。

解決FCKEditor在IE9,IE10彈出窗口的bug

在上面的文章中,fckeditor的顯示和文章的編輯已經沒有問題了,可是當點擊上傳圖片的按鈕會發現還是會出現問題。

原因是fckeditor在ie9以上的版本中不支持$=document.getElementById這種寫法

解決方法可以這麼來做:
打開這個文件,
fckeditor/editor/js/fckeditorcode_ie.js ,

找到這個方法:

FCKTools.RegisterDollarFunction

將原來的

FCKTools.RegisterDollarFunction=function(A){A.$=A.document.getElementById;};

修改方法爲:
FCKTools.RegisterDollarFunction=function(A){A.$=function(v){return A.document.getElementById(v);}};

上面的幾種方法很容易就解決了,不過由於fckeditor版本的多樣化,神馬文庫小編爲大家整理的方法,總能有些幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章