jQuery mobileでページが勝手に戻る際の対処方法


jQuery mobileでページが勝手に戻る

20120405 01

先日とあるサイトをjQuery mobileで実装したのですが
クライアントから「ページが勝手に戻る」と言われました。

何があったかと言うと、以下のような現象(バグ?)があったのです。

トップページからAページへのリンクをタップすると、
一瞬Aページが表示されるのですが、すぐにトップページに戻ってしまう。

その際に、ブラウザのアドレスバーを確認すると
URLはAページのものになっている

IT/WEB業界への転職なら求人サイトGreen


手持ちのGalaxy Sで確認したのですが、iPhoneでも同様の現象があるようです。

解決方法

結論から話すと、jQuery mobileのオプションを以下に設定することで現象が発生しなくなりました。

・リンクのajaxを無効に
・フォーム遷移のajaxを無効に
・自動的にlocation.hashへの変更を処理するのを無効にする

対応したコードは以下になります。

jQuery(document).bind("mobileinit", function(){
    jQuery.mobile.ajaxEnabled = false;
    jQuery.mobile.ajaxLinksEnabled = false;
    jQuery.mobile.ajaxFormsEnabled = false;
    jQuery.mobile.hashListeningEnabled = false;
});

ajaxの遷移を使うと駄目なようですね。jQuery mobileらしい感じが無くなりますが、しょうがないのでしょうか。

他に解決策が分かる方は教えてください!
以下のサイトを参考にさせていただきました。感謝!

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

follow us in feedly