0

Web アプリケーションのような GWT ベースのシック クライアントがあります。アプリケーションはかなり大きく、初期ロード時間がかかります。

アプリケーションの特定のアセットを開く href リンクを含む電子メール メッセージをアプリケーションのユーザーに送信したいと考えています。もちろん、これにはリンクをクリックするとアプリケーションが再び開き、リロードされるという効果がありますが、これは避けたいことです。理想的には、アプリケーションでイベントを取得してそれに反応できるように、href リンクが何らかの方法でアプリケーション/Web ページにシグナルを送信するようにしたいと考えています。

これにどのようにアプローチすべきか、またはこれは可能ですか?

ありがとう!

4

2 に答える 2

0

「内部」ハイパーリンクとして機能するウィジェットであるGWTハイパーリンクを使用する必要があります。つまり、実行中のアプリケーションの別の状態へのリンクです。クリックすると、History.newItem(java.lang.String) を使用して新しい履歴フレームが作成されますが、ページはリロードされません。

まだ使用していない場合は、GWT の History メカニズムに関する情報がここにあります。

于 2013-04-03T22:33:37.530 に答える
0

リンクから既存のブラウザ ウィンドウにイベントを送信するエレガントなソリューションはないようです。これまでに遭遇したいくつかの解決策:

a) アプリケーションが Cookie の存在または変更をポーリングするための Cookie ポーリング ソリューションを実装します。リンクは、Cookie を設定するだけのサーバーを指し、この方法で実行中のアプリにイベントについて通知します。アプリケーションが (まだ) 実行されていない状況を処理するために、サーバーから返された一時ページ間の何らかの双方向プロトコルを使用して、いくつかのトリッキーな処理を実装する必要があります。

b) ソリューション a) と同じアプローチですが、通信には html5 ローカル ストレージを使用します。この方法では、コンテンツが変更されたときにローカル ストレージがイベントを発生させるため、ポーラーは必要ありません。これは可能な解決策ですが、ローカル ストレージのサポートなしで古いブラウザーをサポートする必要があるため、私には向いていません。

c) サーバーからクライアントにイベントを配信するための長いポーリング ajax または Web ソケット。解決策ですが、やり過ぎのようで、少なくとも Web ソケットには最新のブラウザーが必要になる場合があります。

于 2013-04-09T18:09:28.863 に答える