note: firefox 17 無法正常使用 fckeditor 2.6.6

2012112717:18


 

原因

 

 
 

Fckeditor 是依據 Gecko 後面的數字來判斷瀏覽器版本
主要是新板 FireFox 17/18 的 User Agent 命名規則卻改變了...


舊版 FireFox User Agent 名稱長得像這樣是:

Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0
Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0



而新的 FireFox 17/18 的 User Agent 名稱長得像這樣是:

Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/17.0 Firefox/17.0
Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/18.0 Firefox/18.0




 

解決

 

 
 
只要修改  fckeditor\fckeditor_php5.php  (或 fckeditor_php4.php )

function FCKeditor_IsCompatibleBrowser()
{
    [...]
    else if ( strpos($sAgent, 'Gecko/') !== false )
    {
        $iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;
        //return ($iVersion >= 20030210) ;    這行mark 起來
        return true ;                                    改成這行就 OK

    }
   [...]
}




參考資料:
https://bugzilla.mozilla.org/show_bug.cgi?id=814019


  •    (悄悄話) 1F
  • <悄悄話留言,不公開>