0

私は自分のアプリケーション Web サイトのユーザーにカスタム ウィジェットを追加する必要があります。

  1. アプリケーション用に構築されたカスタム フレームワークを使用できます。このフレームワークは、ウィジェットで使用するビルド済みのコードと機能を大量に提供するため、再作成する必要はありません。クロス ブラウザー イベント ハンドラーとプロトタイプ オブジェクトは、多くの例のほんの一部です。
  2. CSS との衝突を心配する必要はありません。具体的には、作成するすべての dom 要素にインライン css を使用する必要はありません。
  3. jsonp を使用して通信する必要があるすべての機能を既に構築しているため、クロスドメイン要求は問題ではありません。埋め込み dom ウィジェットの欠点にならないようにしてください。

現時点でのアイデアは、基本的にボタンであり、フルスクリーンのウィンドウの上に透明な iframe をロードする簡単な JavaScript スニペットを作成することです。これにより、ビュー全体を制御できるようになり、親アプリケーションの他の部分と同じようにウィジェットを作成することもできます。フレームワークなどを使用して、同じスタイルを使用して、同じ json 通信を維持します。ウィジェットの一部ではない iframe の任意の部分をクリックします (おそらく画面の中央にロードされ、オンの場合はフルスクリーンになります)。モバイル デバイス) は、ウィジェットを閉じて、ユーザーを Web サイト内の通常のナビゲーションに戻します。ただし、たまたま JavaScript ポップアップをロードしたウェブサイトの埋め込み部分のように、ウィジェットが起動している間はウィジェットと対話できます。

ウィジェット自体は、サーバーとの通信をやや頻繁に行います。ロード時にいくつかのリクエストがあり、ユーザーが対話すると、通常はリクエストを送信し、ビューを変更してから、別の応答を待ちます。

そうは言っても、これは悪い考えですか、それとも専門外の考えですか? ウィジェットをホストの DOM に直接埋め込む作業を追加して、便利なフレームワーク コードをすべて書き直す必要がありますか? それを行うのに問題はありませんが、iframe がより適切な選択である場合は、むしろそれが望ましいと思います。私の唯一の制限は、IE8 までサポートする必要があることです。もちろん、ウィジェットはデスクトップとモバイルの両方で表示できる必要があり、ウィジェットはクライアントの Web サイトの邪魔にならないようにする必要があります。

4

1 に答える 1

0

別の投稿からのいくつかの良い読書。閉鎖的ではありますが、iframe を支持するいくつかのまともな議論を提起します。

開発者が iframe を嫌う理由

よく共鳴するいくつかのポイント:

  1. Gmail、live.com、Facebook など、インターネット上の他の多くの主要な Web サイトでは、iframe が適切に使用されている状況で、iframe を利用しています。
  2. 特に私のような状況では、私が制御できないリモートWebサイトとの互換性の問題を防ぐためのより良い方法と考えられています. iframe を使用するか、個人の Web サイトを破壊するか。確かに、考えられるすべての予防策を講じることができます。実際に別の人のサイトで問題を引き起こす可能性はわずかですが、iframe では不可能です。したがって、そもそもなぜそれらが作成されたのか。
  3. 私の状況ではSEOは問題ではありません。検索可能なコンテンツを提供するのではなく、リモート ユーザーの Web サイトに JavaScript アプリケーションを拡張するだけです。

上記の理由から、より簡単なアプローチを採用することが、実際にはより専門的なオプションであると思います。一般に、iframe には少し誤解があります。これは、過去に醜い方法で使いすぎたためだと思いますが、テーブルにも同じ誤解がありますが、信じられないかもしれませんが、データが表形式で表示されるのが最適な場合は、使用する感覚...それを待つ...テーブル。これは、display: table-cell などの css 値の背後で行います。

今のところ、iframe に投票します。このプロジェクトの開発の道を少し進んで気が変わったら、この回答を更新します。

于 2012-09-26T03:52:22.437 に答える