3

CKEditor 4 属性フィルタリングは、エディターに配置されたアンカー タグから出現する「href」をすべて取り除きます。「カスタム」属性を含むリンクを作成するプラグインがあります。リンクは次のようになります。

<a href="#" document-href="abc123">Some Link</a>

getData() を呼び出すと、CKEditor は次の形式でリンクを返します。

<a href="#" document->Some Link</a>

リンク属性のフィルタリングを停止するよう CKEditor に指示する方法はありますか? この正規表現がソースのどこにあるかを誰かが知っているので、修正できますか?

ありがとう!

4

2 に答える 2

4

CKEditor 4.1 でこのリンクを確認しました。出力は次のとおりです。

<p><a href="#">Some Link</a></p>

4.1 以降document-href、エディターで使用できるようになったため、 が削除されました。高度なコンテンツ フィルタルールを追加する必要があります。例:

config.extraAllowedContent = 'a[!href,document-href]';

そして、4.1で動作します。4.1 より前では、何も設定しなくてもデフォルトで動作するはずです。

ただし、CKEditor の HTML パーサーにはバグがあります。リンクの属性を正しく解析しないsth-hrefため、結果はsth-属性になります。

今のところ、この属性の名前を に変更することをお勧めしdata-urlますhref

チケットを作成しました: https://dev.ckeditor.com/ticket/10298

于 2013-04-04T08:02:10.630 に答える
2

これを構成ファイルで設定してみてください。

    config.allowedContent = true;

また、挿入時にフィルタリングされる場合は、これを試すことができます:

//var yourAnchor = '<a href="#" document-href="abc123">Some Link</a>';

editor.insertHtml(yourAnchor, 'unfiltered_html');
于 2013-04-03T19:13:23.320 に答える