0

CKEditor4を使用してページコンテンツをインラインで編集しています。ただし、コンテンツの生のHTMLにGoogle AdSenseコードを追加し、インラインエディターをロードすると、スクリプトが実行され、新しいiframeものが編集可能な場所に配置されますdiv。ページを保存すると、iframeとスクリプトの両方が保存されます。そのため、次にインラインエディタを起動すると、別のエディタが作成されます。

これは本当に面倒になり、CKEditor4<script>がエディター自体でタグを実行するのを防ぐ方法を誰かが知っているかどうか疑問に思いました。

私は一日中解決策を探していましたが、何も見つかりませんでした。

4

1 に答える 1

0

解析時と返送時の両方で、あらゆる種類のコードをフィルタリングできます。iframe最も簡単な方法は、エディターデータが保存されているときに削除することだと思います。率直に言って、私はAdSenseにはあまり興味がありませんが、生成されたコードはins段落でラップされたタグであることがわかりました。必要に応じて、最終的にこのフィルターを拡張してより具体的にすることができます。

CKEDITOR.inline( 'editable', {
    on: {
        instanceReady: function() {
            this.dataProcessor.htmlFilter.addRules( {
                elements: {
                    p: function( element ) {
                        var children = element.children;
                        for ( var i = children.length; i--; ) {
                            if ( children[ i ].name == 'ins' )
                                return false;
                        }
                    }
                }
            } );
        }
    }
} );

またdataProcessor、CKEditorの強力なツールについても読んでください。あなたがそれを手に入れたら、あなたは魔法をするでしょう。

于 2013-01-10T21:44:31.457 に答える