2012-06-26 6 views
11

編集可能なhtmlがiFrameに移動されたのはなぜですか?私は別のエディタ(TinyMce、CKEditorなど)を分析し、編集可能なコンテンツを元のテキストに重ねて別のiFrameに移動しました。HTML WYSIWYGエディタ:編集可能なコンテンツがiFrameで移動されたのはなぜですか

この技術的な理由は何ですか?私はcontenteditable="true"を実験しました。これはこのエディタのすべての基盤でもあり、まだこれを行う理由が見つかりませんでした。

+4

私は1つの主な理由は、スタイリングだと思います。親文書のCSSルールは必然的にWYSIWYGに影響を与え、しばしば問題のある結果につながります。 –

+2

しかし、youzがorigninalのウェブサイトにテキストを戻すとき、問題はありませんでしたか?フォーラムのように、記事のテキストを入力してからページに投稿します。次に、元の文書のスタイルを見て、彼がどのように見えるかを確認してください... – Stefan

+2

この場合、ページのスタイルをiframeに積極的に適用します(すべての大きなWYSIWYGエディタにはオプションがあります)。私はあなたが説明する方法を好む状況があることに同意します。 –

答えて

11

私はCKEditorコア開発者です。ちょうど一年の最後の半分のため、私たちは、編集可能なiframeを:)

  1. スタイリング使用する理由について多くのことを学びました - - ない長い時間のためのiframeをエディタの内容は、のスタイルを継承しませんがページ。これは非常に重要です。スタイルをリセットすることはできないからです(CSSは本当にうまくいきます)。さらに、iframeでは自由に独自のスタイルを追加することができます。これも役立ちます。

  2. 編集可能なiframeでのみ、頭部、メタ、体のスタイル、タイトルなどのページ全体を操作できます。

  3. ブラウザはcontenteditableの非常にバグの多い(そして不完全な)implsを持っています。例えば。 Firefoxの<h1>要素(このエディタで確認できます - http://createjs.org/demo/hallo/)の編集可能リストにリストを貼り付けるとどうなりますか?編集可能領域から漏れて、編集不可能な要素になります。これらのケースはエディタで手動で処理する必要があります。これは本当に難しい作業です:)。

  4. 私は確信していますが、designModeは編集可能な領域にドキュメント全体を切り替えることができ、最初はcontenteditableとなっていたと思います。その理由は歴史的かもしれません。一つのアプローチから別のアプローチに切り替えるのは難しいです。

  5. iframeで編集可能なものを使用する理由は多分あるでしょう。私はそれらを学ぶとき私の答えを更新します:)

+0

ありがとう、これは本当に助けて! – Stefan

4

From the tinymce froum

こんにちはZappino!

あなたがメインページの文書に何かを壊すことなく、あなたの ニーズに合わせてHTML文書のどの部分を変更することができ、フレームに ためのIFrameを使用するようにTinyMCEのような編集者の本質です。 部分を含む完全なHTML文書を編集する場合は、 IFrameを使用しないと編集できません。

TinyMCEのファイルを (エディタを埋め込んだページとは別のドメイン)に保存すると、クロスドメインスケッチが発生します。 に問題があり、誰かが手伝ってくれるかもしれないインストールのテストシナリオを私たちに教えてください! (バックドイツ)ドイツから

挨拶

フェリックスRiesterer。

+1

+ 1まさにそれだけです。そして、これが強力なWYSIWYG編集者がiframeを使用している理由(私が知る限り限り)です。 – Thariama

+0

フィードバックありがとう、 – Stefan

関連する問題