0

私は WYSIHTML5 エディターを使用しています: http://xing.github.io/wysihtml5/

このエディターは iFrame をページに追加し、iFrame の本文に変更を加えるたびにテキストエリアを更新しますcontenteditable。これは他の多くの WYSIWYG エディターと似ているため、私の問題は他のエディターにも当てはまります。

私の問題は、このエディターを使用して、、、およびその他の重要な基本タグを編集できるようにしたいということ<html>です。もちろん、WYSIWYG モードでは編集できないので、raw コード モードで問題ありません。<head><body>

これらのタグを有効にすると、これらのタグは iFrame 自体のページによって既に開かれているため、ブラウザー自体によって取り除かれます。そのため、生のコード モードと WYSIWYG モードを切り替えると、それらが失われます。

デフォルトの「高度な」パーサー規則を使用し、それらを次のようにマージします: http://pastebin.com/6QvYkqm4 with jQuery's recursive $.merge().

どうすればこれを回避できますが、このプラグインを引き続き使用できますか? プラグインの設定が間違っていませんか? パーサー ルールでタグを有効にしたことは確かです。

4

2 に答える 2

1

JQuert TE WYSIHTML テキストエリア エディターとして使用することを強くお勧めしますが、バグがありますが、他の多くのエディターと比較するとはるかに優れています。

WYSIHTML エディターが構築されている JavaScript ライブラリは、これらのタグを検索して削除します。これはセキュリティ上の欠陥であり、削除しないとサイトのレイアウトが歪む可能性があるためです。ユーザーがページのヘッダーを変更した場合を想像してみてください。これらの機能を本当に実装したい場合は、WYSIHTML5 のライブラリでこれらのタグを削除するコードを見つけて、それらの特定のタグを認識しないように変更することをお勧めします。幸運を。

編集:

例: WYSIHTML5 の parser_rules フォルダーで、advanced.js または basic.js を選択します (使用するものによって異なります)。

"head": {
        "remove": 1
},

と置換する:

"head": {
        "rename_tag": "head"
    },

目的のルール セットが得られるまで、さまざまなルールを使用してこのプロセスを繰り返します。WYSIWYG テキストエリア エディターにはすべて異なる JavaScript ライブラリがありますが、使用しているものは編集が簡単です。

于 2013-10-02T12:33:19.880 に答える
0

headWYSIWYG エディターは、ページのマークアップを「見る」(スタイルを使用してフォーマットする) ことができないため、探しているソリューションではありません。http://codemirror.net/をご覧ください。

HTML サンプルページ

于 2013-10-05T02:26:08.933 に答える