FCK编辑器未加载IE11。这是因为IE11的新用户代理。
类似的问题来自IE10,它有以下修复 -
var sBrowserVersion = navigator.appVersion.match(/ MSIE([\ d。] +)/)[1]; (参考 - FCKEditor doesn't work in IE10)
IE11也有类似的解决方案吗?
请帮助。
答案 0 :(得分: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" />
注意:必须在头标记
中添加以上内容答案 1 :(得分:2)
试试这个:
navigator.appVersion.match(/rv:([\d.]+)/)[1]
由于IE11用户代理字符串没有MSIE
密钥,因此确切版本由rv:
密钥提供。
答案 2 :(得分:2)
我将以下内容添加到safari检查
下面的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);
}
答案 3 :(得分:1)
H Solano的回答非常好,但是显然有一种情况是Ubuntu下的Chrome 34让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) ;
}
答案 4 :(得分:0)
对我来说同样的问题, 目前我用兼容性视图设置修复了它
答案 5 :(得分:0)
为了带有META标签的FCKEditor,我们试图模仿IE10。
<meta http-equiv="x-ua-compatible" content="IE=10">
显然,这需要在所有其他META标签之前。