0

# 記号の後に URL を受け取り、 History で応答するアプリがありますValueChangeHandler。重大な問題: URL はブラウザーごとに異なる方法でエスケープされます。

たとえば、#riley%2Blark%40gmail.com にアクセスすると、Chrome は ValueChangeHandlerriley%2Blark%40gmail.comを送信し、FireFoxはriley+lark@gmail.com. URL.decodeQueryStringFirefox で余分なスペースができてしまうので、それらで実行したい場合、これはひどい違いです。

ブラウザごとに個別の実装を作成する以外に、これをどのように処理できますか?

4

1 に答える 1

1

考えられる解決策は次の 2 つです。

  1. トークンに別のパラメーターを追加して、トークン #riley%2Blark%40gmail.com/%2B-a-space を受信したときにトークンが使用できるようにすることができます。トークンの 2 番目の部分を確認してください。2 番目の部分に %2B が含まれている場合は、トークンを URL デコードします。それ以外の場合は「+」を

  2. Location.hash JSNI を介して使用することもできます。結果は均一になるはずだと思います。

于 2011-03-11T06:47:53.087 に答える