1

IE10で問題が発生し<cftextarea>ています。richtext="true"問題は、<cftextarea>IE10 と互換性がないように見える FCK Editor を使用していることです。

これを CK Editor (私の最初の選択) を使用して作り直すのは大変な仕事になるでしょう。組み込みの ColdFusion リッチ テキスト エディタを強制的に IE10 と互換にする方法を知っている人はいますか?

fckeditor.jsandファイルを編集して、 fckutils.cfm2 桁の 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;
    }
}

FCK Editor インスタンスの場合、cftextarea他の変更をどこかに加える必要がありますか?

4

2 に答える 2

1

コールドフュージョンでajaxonload()関数を使用して問題を解決しました。

于 2013-03-20T17:05:59.030 に答える
0

これをCF9のIE 10で完全に動作させることができませんでした。提案された変更を試してみましたが、IE10 で他にも JavaScript エラーがいくつかありました。

問題は、CF が古いバージョンのCKEditorを使用していることです(元の名前は FCKEditor のままです)。最新バージョンの CKEditor をダウンロードして、プロジェクトで使用してみてください。それが私がやったことであり、実装は非常に簡単であることがわかりました。基本的には、script タグに ckeditor.js を含めて、任意の<textarea>タグにclass="ckeditor"属性を与えるだけで、ライブラリが他のすべてを処理します。

共通のコンポーネントを使用してテキスト フィールドを生成する場合、明らかにこれははるかに簡単です。<cftextarea>いたるところにランダムなタグがある場合は、はるかに大きな検索/置換を行う必要があります。

CFIDE でライブラリを更新することもできますが、その場合、必要以上に多くの問題が発生する可能性があります。

于 2013-10-01T20:39:13.263 に答える