1

我在 IE10 中<cftextarea>遇到问题。richtext="true"问题是<cftextarea>使用了似乎与 IE10 不兼容的 FCK 编辑器。

使用 CK 编辑器(这将是我的第一选择)重新进行这项工作将是一项艰巨的工作。有谁知道如何强制内置ColdFusion富文本编辑器兼容IE10?

我尝试编辑fckeditor.jsandfckutils.cfm文件,以便它使用两位数考虑 IE10 版本号。但是,我正在使用的 cftextarea 实例似乎没有拾取/使用这些文件。但是,该fckeditor.html文件正在被击中。

我所做的更改fckeditor.js

// Internet Explorer 5.5+
if ( /*@cc_on!@*/false && sAgent.indexOf("mac") == -1 )
{
    //var sBrowserVersion = navigator.appVersion.match(/MSIE (.\..)/)[1] ;
    var sBrowserVersion = navigator.appVersion.match(/MSIE ([\d.]+)/)[1] ;
    return ( sBrowserVersion >= 5.5 ) ;
}

我在 fckutils.cfm 中所做的更改

// check for Internet Explorer ( >= 5.5 )
if( find( "msie", sAgent ) and not find( "mac", sAgent ) and not find( "opera", sAgent ) )
{
    // try to extract IE version
    stResult = reFind( "msie ([0-9]+\.[0-9]+)", sAgent, 1, true );
    if( arrayLen( stResult.pos ) eq 2 )
    {
        // get IE Version
        sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
        if( sBrowserVersion GTE 5.5 )
            isCompatibleBrowser = true;
    }
}

对于cftextareaFCK 编辑器实例,我应该在某处进行任何其他更改吗?

4

2 回答 2

1

我通过在 Coldfusion 中使用 ajaxonload() 函数解决了这个问题。

于 2013-03-20T17:05:59.030 回答
0

我完全无法让它在 CF9 中与 IE 10 一起使用。我尝试了您建议的更改,但 IE10 上还有其他几个 JavaScript 错误。

问题是 CF 使用的是旧版本的CKEditor(仍然使用原来的名称 FCKEditor)。您可能想尝试下载最新版本的 CKEditor 并在您的项目中使用它们。这就是我所做的,我发现它很容易实现。基本上,您只需将 ckeditor.js 包含在脚本标签中,然后为任何<textarea>标签赋予class="ckeditor"属性,该库会为您处理其他所有事情。

显然,如果您使用通用组件来生成文本字段,这会容易得多。如果您到处都有随机<cftextarea>标签,则必须进行更大的搜索/替换。

您也可以尝试在 CFIDE 中更新库,但这可能会导致更多的问题而不值得。

于 2013-10-01T20:39:13.263 回答