私は自分のアプリケーション Web サイトのユーザーにカスタム ウィジェットを追加する必要があります。
- アプリケーション用に構築されたカスタム フレームワークを使用できます。このフレームワークは、ウィジェットで使用するビルド済みのコードと機能を大量に提供するため、再作成する必要はありません。クロス ブラウザー イベント ハンドラーとプロトタイプ オブジェクトは、多くの例のほんの一部です。
- CSS との衝突を心配する必要はありません。具体的には、作成するすべての dom 要素にインライン css を使用する必要はありません。
- jsonp を使用して通信する必要があるすべての機能を既に構築しているため、クロスドメイン要求は問題ではありません。埋め込み dom ウィジェットの欠点にならないようにしてください。
現時点でのアイデアは、基本的にボタンであり、フルスクリーンのウィンドウの上に透明な iframe をロードする簡単な JavaScript スニペットを作成することです。これにより、ビュー全体を制御できるようになり、親アプリケーションの他の部分と同じようにウィジェットを作成することもできます。フレームワークなどを使用して、同じスタイルを使用して、同じ json 通信を維持します。ウィジェットの一部ではない iframe の任意の部分をクリックします (おそらく画面の中央にロードされ、オンの場合はフルスクリーンになります)。モバイル デバイス) は、ウィジェットを閉じて、ユーザーを Web サイト内の通常のナビゲーションに戻します。ただし、たまたま JavaScript ポップアップをロードしたウェブサイトの埋め込み部分のように、ウィジェットが起動している間はウィジェットと対話できます。
ウィジェット自体は、サーバーとの通信をやや頻繁に行います。ロード時にいくつかのリクエストがあり、ユーザーが対話すると、通常はリクエストを送信し、ビューを変更してから、別の応答を待ちます。
そうは言っても、これは悪い考えですか、それとも専門外の考えですか? ウィジェットをホストの DOM に直接埋め込む作業を追加して、便利なフレームワーク コードをすべて書き直す必要がありますか? それを行うのに問題はありませんが、iframe がより適切な選択である場合は、むしろそれが望ましいと思います。私の唯一の制限は、IE8 までサポートする必要があることです。もちろん、ウィジェットはデスクトップとモバイルの両方で表示できる必要があり、ウィジェットはクライアントの Web サイトの邪魔にならないようにする必要があります。