2013-12-02 5 views
5

Редактор FCK не загружается для IE11. Это связано с новым пользовательским агентом для IE11.Редактор FCK не работает

Аналогичная проблема возникла с IE10, который имел следующий fix-

уаг sBrowserVersion = navigator.appVersion.match (/ MSIE ([\ д.] +) /) [1]; (Refer- FCKEditor doesn't work in IE10)

Есть ли аналогичный вариант для IE11?

Пожалуйста, помогите.

ответ

0

Такая же проблема для меня, в настоящее время я установил его с настройками зрения совместимости

0

Мы прибегли к эмуляции IE10 ради FCKEditor с метатег.

<meta http-equiv="x-ua-compatible" content="IE=10"> 

По-видимому, это должно быть перед всеми другими метками META.

2

Попробуйте это:

navigator.appVersion.match(/rv:([\d.]+)/)[1] 

Поскольку пользователь IE11 Agent String не имеет MSIE ключ, поэтому точная версия задается rv: ключом.

5

Чтобы исправить эту проблему (совместимость FCKEditor с IE11), вы должны добавить проверку IE 11 в FCKEditor в соответствующий файл, который генерирует экземпляр редактора. В нашем случае это fckeditor_php5.php:

else if (strpos($sAgent, 'Gecko') !== false) 
{ 
    // Internet Explorer 11 
    $iVersion = (int)substr($sAgent, strpos($sAgent, 'rv:') + 3, 2) ; 
    return ($iVersion >= 11) ; 
} 

Примечание: выше был добавлен функционировать FCKeditor_IsCompatibleBrowser().

Затем вы должны добавить эмуляцию для IE 9 или IE 8 на страницу (IE 10 не работает для нас):

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" /> 

Примечание: выше должен быть добавлен в головной метке

2

Я добавил следующее в нижней части fckeditor.js файла под чеке сафари

// Safari 3+ 
if (sAgent.indexOf(' applewebkit/') != -1) 
    return (sAgent.match(/ applewebkit\/(\d+)/)[1] >= 522); // Build must be at least 522 (v3) 

// Internet Explorer 11 
    var sBrowserVersion = navigator.appVersion.match(/Trident\/.+; rv:(\d+)/)[1] 
if (sBrowserVersion) { 
    return (sBrowserVersion >= 10); 
} 
1

ответ от H Солано велик, однако, по-видимому случай, когда Chrome 34 под Ubuntu проверяет правильность проверки редактора FCK. Поэтому я добавил небольшое условие:

else if (strpos($sAgent, 'Gecko') !== false) { 
    if (strpos($sAgent, 'Chrome') !== false) { 
    // Just for Chrome 34 under Ubuntu with a rv: <11 
    return true; 
    } 
    // Internet Explorer 11 
    $iVersion = (int)substr($sAgent, strpos($sAgent, 'rv:') + 3, 2) ; 
    return ($iVersion >= 11) ; 
} 
Смежные вопросы