2

KCfinder によって返されるイメージ タグは、CKeditor では不完全であり、正しく表示/保存されません。画像のアップロードにインライン CKEditor と KCFinder を使用していることに注意してください。

統合コードは次のとおりです。

ckeditor/config.js

    config.filebrowserBrowseUrl = base_url+'/js/kcfinder/browse.php?type=files';
    config.filebrowserImageBrowseUrl = base_url+'/js/kcfinder/browse.php?type=images';
    config.filebrowserFlashBrowseUrl = base_url+'/js/kcfinder/browse.php?type=flash';
    config.filebrowserUploadUrl = base_url+'/js/kcfinder/upload.php?type=files';
    config.filebrowserImageUploadUrl = base_url+'/js/kcfinder/upload.php?type=images';
    config.filebrowserFlashUploadUrl = base_url+'/js/kcfinder/upload.php?type=flash';

ページ上の HTML

<div id="page_body" contenteditable="true" class="full">...</div>

オンページ JS

<script type="text/javascript">
            CKEDITOR.disableAutoInline = true;           
            var editor = CKEDITOR.inline( 'page_body', {
                on: {
                    focus: function(event){
                        var data = event.editor.getData();
                        alert(data);
                    },
                    blur: function( event ) {
                        var data = event.editor.getData();
                        var page_id = <?php echo $this->uri->segment(3) ?>;
                        var page_link =$("#page_link").val();
                        $.ajax({
                            type: 'POST',
                            url: '<?php echo site_url('admin/dashboard/ajaxChangePageData') ?>',
                            data: { page_id: page_id, page_body: data,page_link:page_link },
                            beforeSend:function(){},
                            success:function(data){},
                            error:function(){ alert("Error"); }
                        });      

                    }
                }
            } );

        </script>

奇妙なことに、KCFinder を使用するとエラーなしでサーバー/アップロードを参照でき、サーバーから画像を選択することもでき、画像はコンテンツに正常に表示されます。ただし、リロード後にコードの幅と高さの情報が表示されません。画像用に作成されたhtmlが不完全であると考えました

ソースモードで

<img alt="" src="/gchalk/content/images/333(1).jpg"  300px; height: 224px;" />

2度目にdivにいくつかの変更を加えてテキストを追加すると、状況はさらに悪化します。画像が失われ、テキストとして扱われます。上記のコードは次のようになります。

ソースモードで-

&lt;img alt=&quot;&quot; data-cke-saved-src=&quot;/gchalk/content/images/333(1).jpg&quot; src=&quot;/gchalk/content/images/333(1).jpg&quot; 300px;=&quot;&quot; height:=&quot;&quot; 224px;&quot;=&quot;&quot;&gt;

ブラウザ/エディタでは -

<img alt="" data-cke-saved-src="/gchalk/content/images/333(1).jpg" src="/gchalk/content/images/333(1).jpg" 300px;="" height:="" 224px;"="">

私は一日中髪を引き裂いていて、道を見つけることができません. それを解決する方法を理解するのを手伝ってください。

ああ、記録のために、テキストは ajax の投稿を介して "TEXT" として MySQL に保存されます。

デフォルトのckeditor(インラインではない)でもイメージタグがめちゃくちゃになっていることに気付きました。

4

1 に答える 1

0

コードの出力に影響を与える可能性のあるもの:

1- PDO 使用時のマジック クォート。オンになっている場合は、php.ini でオフにします。それらは非推奨です。なぜ私はあなたにこれを言っているのですか?あなたのソースモードでは300px; height: 224px;" 、それを保存して表示したときに持っていたからです。300px;="" height:="" 224px;"=""

2-CKeditor パッケージ。Ckeditor をダウンロードして再アップロードしてみてください (可能であれば最新バージョンに更新してください)。

それ以外は、提供されたコードに問題はありません。幸運を!

于 2013-03-16T19:29:48.813 に答える