2009-04-15 15 views
8

ありますか?Flash/Silverlight/WhateverにWYSIWYGリッチテキストエディタがない理由は何ですか?

デスクトップソフトウェア開発者の視点(おそらくWebデベロッパーとは対照的に)では、FlashやSilverlightなどのリッチWebアプリケーションプラットフォームは、Web用のWYSIWYGテキストエディターを実行するための優れたツールに見えます。より洗練された入出力、データ表現などが可能で、ブラウザとプラットフォームで一貫しています(SilverlightとMoonlightはまだありませんが、少なくともFlashはそうであるようです)。

しかし、開発者は、Javascript/DOM/HTML/CSSをすべての非互換性、相違点とともに使用して、特定のクォークを回避し、これらのテクノロジを、もともとはできると思われていた。

ウェブサイトにFlashを使用しない理由と一般に認められている例外:埋め込みビデオプレーヤーには、一般に認められている議論がいくつかあります。リッチテキストエディタの違いは何ですか? "フラッシュコントロールは孤立した砂場の中に住んでいます" - 普遍的に、WYSIWYGエディタを実行します。とにかくエディタの変更されていない未保存コンテンツを索引付けすることに気をつけているのは、「フラッシュコントロールのテキストを検索エンジンでインデックス化することはできません。 「すべてのユーザーにFlashがインストールされているとは限りません」 - そのため、すべてがJavascriptを有効にするわけではありません。

ここに質問があります:WYSIWYGエディタを実装するためにFlashよりJavascriptを選択する利点は何ですか?そうでなければ選ぶことの短所は何でしょうか?

答えて

3

フラッシュものよりはJavaScriptで実装さRTEエディタの主な利点は次のとおりJavaScriptが

  • 彼らがオフになっていない
  • ほとんどの人が使用するためにFlash Playerを必要としない

    • 一般的に豊かで埋め込まれたテーブルのよう
    • その他の機能として、 画像や動画は、彼らがPR
    • を提供することができ 優れた能力を有していますWebコンテンツとして 使用する準備ができてoduce HTML出力は

    あなたはこのエディタを自分で構築するために探していますか? が一般的に言えば、今日のjavascriptのwysiwygエディタで利用できる選択肢はかなり良いです。たとえば、fckeditortinymceを確認してください。彼らはすべて非常に印象的で、各リリースで改良され、幅広いシナリオに適用することができます。

    ほとんどの現代のブラウザでは、これらのものを構築するためのdesignmode/contenteditable divとiframeを使ってかなり良いサポートがあります。 Flex 3は、仕事をするだけで大​​丈夫なRichTextEditorが付属していますが、それほど素晴らしいものではありません。 Silverlightの

  • +0

    HTMLについては、本当に準備ができていますか? IEで書かれたRTEのHTML出力は、常にFFやOperaと互換性がありますか? – Headcrab

    +0

    これは主にFCKeditorを使用して、その出力HTMLがすべての現在のブラウザで正しくレンダリングされるという私の経験でした。 FCKeditorはIE5.5でもうまく動作すると主張しています。私はIE6より前に何もしません。 –

    +0

    OK、彼らはHTML出力にも取り組んできました。 私は自分のモチベーションに関して、教師が宿題をしていることを模倣し、赤いインクで印を付ける、エラーマーキングシステムを作りようとしていました。ここでは、非常に初期のプロトタイプがあります:http://blog1.nuigurumi.webfactional.com/entry_id=0&action=show(FFでのみ動作し、マウスでテキストを選択して動作する方法) – Headcrab

    2

    は、ブログ、フォーラムのように(あなたはJavascriptでウェブ上でそれらのほとんどを見つける主な理由は、ユーザのテキスト入力を必要とし、主に経済的、ほとんどのサイトでこの

    http://www.vectorlight.net/controls/rich_textblock.aspx

    +0

    opensource project [ClipFlair](http://ClipFlair.codeplex.com)に含まれるSilverTextコンポーネントも参照してください。 Microsoftのサンプルアプリケーションに基づいていますが、コンポーネントを作成し、拡張しました。 –

    0

    を見てみましょうまたはstackoverflow)はHTML/Javascriptで構築されています。だから、あなたはサイトの99%を構築する能力のJSプログラマを持って、なぜ他の1%を構築するフラッシュプログラマをもたらす。

    しかし、それらが存在しないことを意味するわけではありません!より人気のある在庫フラッシュサイトの1つを迅速に検索すると、3:

    RTE1 | RTE2 | RTE3

    これはFlashDenの直前だった。 FlashComponents.netまたはUltraShock.comを検索するか、Googleだけでも検索できます。さらに多くのコンテンツが販売されているか、無料でダウンロードされています。

    3

    主な理由は、JavaScript(designMode)を使用してブラウザで豊富なHTML編集を行うための準備が整っているということです。これは、MicrosoftがIE 5.5で(覚えている限り)始め、Mozilla/Firefox、Opera、そしてSafariで取り上げられました。ブラウザはHTML DOMツリーを保持しているので、ナビゲートや変更などができます。ほとんどのJavaScriptコードを使わずに、ブラウザで基本的な(しかも完全に遅れていますがまだまだ)HTML WYSIWYGを作成することができます。そして、あなたはそれの機能を構築することができます(現代のjavascript wysiwygsのほとんどが行ったことです)。

    Flash/Silverlightの開発者は、最初から始めてこれらのすべてを実装する必要があります。この分野でMicrosoft/Mozilla/Opera /などのチームと競争するのは難しいです。

    1

    技術的に言えば、基本的なRTF機能の大部分(視覚的にはそうです)がこの作業を実行できないということは何も言いません。ただし、イメージやテキストの自動リフローなどの制限があります(つまり、画像を割り当ててテキストを折り返す場合は、数学+文字列+正規表現操作の場合があります)。レンダリングされたウィンドウ自体(ツールバーなど、これはアイコンの欠落を助け、JSが現在提供している例外処理よりも有限の制御を提供します)を除くすべてのためのSilverlightは、WYSIWYGウィンドウを使用することを可能にします。本当にブラウザは、他のすべてのニーズに合わせてエンジン自体)とSilverlightをレンダリングする。

    我々はそれが聴覚障害者の耳に入らないですので、将来のバージョンでこの機能を有効にする方法を検討している。

    Scott Barnes/Rich Platformsプロダクトマネージャー/ Microsoft。

    1

    のcontentEditableはHTML 5 W3の仕様であるためにはJavaScript RTEのは、Web標準になるだろう。 JavaScript RTEの現在の方法は、ドキュメントの属性でdesignModeを "on"に設定することです。この問題は、ドキュメント全体が編集可能になることで、ほとんどのJavaScript RTEがiFrameを通じてエディタを読み込むため、親ドキュメントではなくdesignModeが "on"に設定されたiFrameのドキュメントが許可されます。

    現在入手可能なJavaScript RTEの欠点は、画像を挿入するためにユーザーインターフェイスを変更することがどれほど複雑であるか(これが重要な場合)です。私は個人的に多くの組み込みインターフェースを気にしませんが、ドキュメントを読むのに十分な時間を費やしていれば、あなたはそれを変更することができます。たとえば、デモでTinyMCEの画像の挿入機能を見てから、WordPressを起動して、どのように変更したかを確認してください。 (WordPressはTinyMCEを使用します)。

    私はテストを実行していませんが、アクションスクリプトのテキストエリアに入力するのが遅く感じられるように感じます。私が取り組んでいる別の問題は、画像を追加して記事の中でそれらを動かすことです。Adobe AIRでも、WebKitレンダリングエンジンを使用していたので、Safariブラウザ(WebKitも使用)でうまく動作するJavaScriptを使用してRTEを作成しようとしましたが、AIRを介して読み込むとき、動作が異なります。

    全体的には、これは大部分のブラウザではまだ実装されていない標準ではないcontentEditableと、現在利用可能なRTEのための非常に複雑なスクリプトとはかなり良い解決策はありません。

    JavaScriptのRTEの参​​照してください

    TinyMCEは、FCKEditorの(CKEditorバージョン)、YUI 2の編集者、そしてあなたは、独自のロール基本的にはJavaScriptでexecCommand()のチュートリアルを探したい場合は、いくつかの他のものがあり、メソッドは、選択された要素を変更したり、要素をcontentEditable領域に挿入したりします。

    Flashの場合...わかりませんが、Flexのテキストエディタは基本的で制限されていても、実装がたくさんありません。主な欠点は、これは両方のプラットフォームのためです。テキストの太字やイタリック体のような基本的なことは簡単なので、画像を変更して挿入するのは簡単です。

    1

    のJavaScriptエディタの主な利点は、JavaScriptの高度なHTML要素(テーブル、水平線を作成するための多くの可能性を提供することです順序付きリストとフォーム要素)。 しかし、これらのエディタのほとんどは、designmodeとcontenteditable iframeを使用して作成されます。 これは実際のコードの生成がjavascriptではなくブラウザによって行われていることを意味します。それぞれのブラウザが異なるHTMLを生成する可能性があります。

    フラッシュエディタは機能が少なく、フラッシュが必要ですが、フラッシュウェブサイトにとってはおそらく最適なソリューションです。 javascriptエディタのhtmlの違いは非常に面倒なことがあります。また、flash-htmlがサポートしていない機能は、javascriptエディタに含まれていてはいけません。また、Flashでは、htmlで使用されていない他のタグも生成されます。例えば、<textformat>タグはflash-html/htmltextでのみ使用されます。

    javascriptエディタの問題なしにすべての可能なflash-htmlを生成するエディタが見つかりませんでした。 私は自分自身を作成し​​ました。
    http://www.flashcomponents.net/component/hcs-rich-text-editor.html
    これは、flash-htmlを生成し、必要に応じてブラウザに違いなく有効な(x)htmlを生成します。

    要するに、非フラッシュベースのウェブサイトでは、可能性がより高いので、おそらくJavaScriptエディタが必要です。 フラッシュのウェブサイトの場合、フラッシュベースのリッチテキストエディタで、特別なタグ、例えば<textformat>.のフラッシュhtmlコードを生成したい場合は

    関連する問題