jquerymobile1.1.1を使用してWebアプリを作成しました
アプリの一部として、パスワード取得機能を構築しました。ユーザーがパスワードをリセットする必要がある場合は、フォームに記入し、パスワードリセットページのアドレスと他の2つのパラメーターを含むリンクが記載された電子メールを受信します。
www.mywebapp.com/demo.html#resetPassword?x=123&y=123
最初の問題: ユーザーがリンクをクリックすると、アドレスバーのURLに次のように表示されていてもWebアプリのホームページが表示されます。www.mywebapp.com/ demo.html#resetPassword?x = 123&y=123わかりましたそのjQuerymobileは、ハッシュ後のパラメーターの受け渡しをサポートしていないため、次の解決策を考え出しました。
少し不便な解決策: 次のコードをまとめました。このコードは、URLを読み取り、2つのパラメーターをキャプチャして、ユーザーをパスワードリセットページにリダイレクトします。
$( document ).bind( "pagebeforeshow", function() {
//cpe("parameter") will check whether the specified URL parameter exists
if(cpe("x") && cpe("y")){
//gpv("parameter") captures the value of the specified URL parameter
recovery.username=gpv("x");
recovery.token=gpv("y");
$.mobile.changePage("#resetPassword");
}
})
不便、したがって私の現在の問題: ユーザーが電子メールのリンクをクリックすると、ブラウザーが起動してアプリのメインページが開き、すぐに#resetPasswordページが表示されます。ページを変更しているため、これが発生することを理解しています
$.mobile.changePage("#resetPassword");
しかし、ユーザーがメインページをまったく表示しないように上記のコードを変更して、#resetPasswordページに直接移動するにはどうすればよいですか?