1

私たちはGWTを使用しており、Historyフレームワークを利用しています。アプリケーションではすべて正常に機能しますが、一部のクライアントは、PowerPointプレゼンテーションにアプリケーションへのハイパーリンクを配置しようとしています。ただし、PP2007には、ハイパーリンクにハッシュ記号( "#")が含まれているため、使用できなくなるという既知の問題があります。

では、GWT Hisoryフレームワークによって生成されたURLで使用される区切り文字をハッシュ以外のものに変更する方法はありますか?

または、GWT履歴によって生成された新しいURLをインターセプトして、ブラウザーのアドレスバーが更新される前に変更することは可能ですか?

4

2 に答える 2

2

ハッシュ記号を変更できる/変更すべきではないと思います。これは主に、この記号がGWTからではなく、HTTP仕様からのものであるためです。このドキュメントのハッシュフラグメントに関する部分を読んで、適切な説明を得ることができます。重要な点は、URLに#記号を追加しても、ブラウザが完全に更新されることはないということです。これが、この記号がajaxとGWTの履歴に使用される理由です。

それでも新しいURLをインターセプトする場合は、おそらく履歴にValueChangeHandlerを追加してから、Window.Location.getHref()およびWindow.Location.assign()を使用してURLを変更する必要があります。しかし、それは履歴を使用して実行しないことを実行するようなものなので、独自の履歴管理システムを実装することをお勧めします。

于 2012-06-22T09:02:24.703 に答える
2

http://code.google.com/p/google-web-toolkit/issues/detail?id=7101を参照してください(サンプル コードへのリンクがあります)

pushState基本的に、これは HTML5とをサポートするブラウザでのみ実行できますonpopstate。これは Internet Explorer を除外します。残念なことに、PowerPointer を使用している人々は IE も使用する可能性が高いため、基本的にあなたは運命づけられています。

于 2012-06-22T09:20:04.833 に答える