なんらかの理由で、CKEditor 4はGoogle AdSense非同期タグをフルHTMLテキスト形式から削除しています。
これで始まるもの(IDの代わりにプレースホルダー):
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
</script>
<!-- Top Banner -->
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-XXXXX"
data-ad-slot="XXXXX"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).Push({});
</script>
このようになります:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
</script>
<!-- Top Banner -->
<script>
(adsbygoogle = window.adsbygoogle || []).Push({});
</script>
繰り返しますが、これはフルHTMLテキスト形式であり、insタグを属性なしで取得できますが、属性なしでは取得できません。タグは、保存のために属性を取得するのに問題はありません。
価値があるのは、CKEditorプロファイルに次のセットがあることです。
config.allowedContent = true;
[〜#〜]更新[〜#〜]
CKEditorがinsタグ(および属性)を削除するのは、AdSenseから提供された空のタグの場合のみです。改行しないスペースを追加しても、CKEditorはinsタグと属性を保持します。
テンケンの提案に従って、次の行を構成に追加しましたが、役に立ちませんでした。
config.protectedSource.Push( /<ins class=\"adsbygoogle\" style=\".*\" data-ad-client=\".*\" data-ad-slot=\".*\"\><\/ins\>/g );
(私ではなく)このブログ記事を読んでください Drupal WYSYWG Module Custom CkEditor Configuration by Philip Norton。
きみの <script>
タグは取り除かれていませんが、ファンキー<ins>
タグです。そのブログ投稿から、protectedSource
をAFCルールに追加して、これらの要素が削除されないようにする必要があります。これはテストされていませんが、ブログポストから派生しています:
// Allow Google Adsense <ins> tags, I'm being more specific
// than allowing any raw <ins> tag here. This may be too specific, but
// play with it.
config.protectedSource.Push( /<ins class=\"adsbygoogle\"\>.*?<\/ins\>/g );
この設定を機能させるには、 [〜#〜] wysiwyg [〜#〜] モジュールをインストールする必要があります(または、独自のckeditor JavaScriptプロファイルに直接追加する)。
これは以下からです: http://margotskapacs.com/2014/08/taking-ckeditor-a-apart/
空の場合に削除されるタグの定義済みリストがあります(dtd.jsおよび$ removeEmptyを参照)。特定の空のタグが削除されないようにするには、属性「data-cke-survive」を追加します。
または、以下をCKEditor構成ファイルに渡します。
CKEDITOR.dtd。$ removeEmpty ['span'] = 0; CKEDITOR.dtd。$ removeEmpty ['TAG-NAME'] = 0;
これにより、空のタグが削除されないようになります。注:プロダクションCKEditor.jsを使用している場合は、「CKEDITOR.dtd」で始まるセクションを次のように変更する必要があります。
CKEDITOR.dtd = function(){var a = CKEDITOR.tools.extend、e = function(a、d){for(var [...] span:0 // set TAG:0 .. 「CKEDITOR.dtd」で始まるセクションのCKEditor.jsファイルをgrepし、空の場合は削除しないタグごとに値を1から0に変更します(上記の「span」タグの例を参照)