2011-10-31 16 views
3

ここでは、jqueryのモバイルページで自動ページトランジションの問題があります。どんな助けでもよろしくお願いします。jquery、jquery mobileブラウザのバックボタンの問題

私はページAにありますが、私はリンクをクリックして、ページ "B"に行きます。ページBにリンクをクリックすると、ページCに移動します。

ページCブラウザの戻るボタン(左下のiphone)をクリックすると、ページBが表示されます。今度は同じリンクをクリックしてCページに戻りますが、今回はブラウザが自動的にPage Cを点滅させます(途中でjqueryモバイルの読み込みイメージを使ってトランジションスライドを行う) B "の代わりに。一番上のURLを見ると、私はまだpageC.html urlであり、B.ではなく、コンテンツはPage Bのコンテンツだけです。

意味がありますか?何が起こっている?お願い助けて。

詳細情報:私は何を使用していますか?

おかげで多くの

+0

私はよりよく見えるようにコードをかえてください。 – pinaldesai

+0

申し訳ありませんが、コードで問題が発生していません。オンラインドキュメントを見て、あなたを助けることができるかもしれません。 http://www.elated.com/articles/jquery-mobile-what-c​​an-it-do-for-you/ – pinaldesai

+0

質問を編集してコードブロックにコードを入力することができます – pinaldesai

答えて

0

バディ、

私は問題があなたのファイル構造であると思います。 jqueryモバイルライブラリを使用していますが、同時に2つのページで作業しても動作しないトランジションがあります。

+0

あなたのメールアドレスを確認して、送信しました参考のためにパッケージをデモしてください。ありがとう。 – pinaldesai

+0

複数のページで作業することは避けられません。単一ページのソリューションは、バックエンドのものをあまり扱っていない限り、ある範囲でしか動作しません。また、1ページにすべてを詰め込むことで、モバイルページのサイズも大きくなります。
このブラウザのバックボタンの問題は、常にそこにあるようです。私は同じ種類の問題がjquerymobile.comページにも存在することを知っています。

ここにjquerymobile.comページの問題の概要を説明する別のリンクがあります。非常に似ています。 http://forum.jquery.com/topic/jquery-mobile-true-browser-back-button-issue –

5

同じ問題が発生し、hashListeningEnabledをfalseに設定して解決できました。

$.extend( $.mobile , { 
    ajaxEnabled  : false, 
    hashListeningEnabled: false 
}); 
0

私も同様の問題がありました。リンクにdata-ajax="false"を追加すると、ときどき役立ちます。

`<a data-ajax="false" href="#" data-role="button" id="fix_link">Another Page</a>` 

TO

例の変更については

`<a href="#" data-role="button" id="fix_link">Another Page</a>` 

ありどのようにjQueryのモバイルロードページやナビゲーションと連動について読むために多くの場所がありますが、私はこれで周りいじりで最も学び、時にはがある場合があります。

0

あなたは(つまり、あなたがfalseにオプション$.mobile.ajaxEnabledセットを持っている)AJAXナビゲーションを使用していない場合は、jQueryのモバイルはまた、これらのブラウザの問題を修正するために$.mobile.pushStateEnabledを無効にすることをお勧めします。

注:jQueryのモバイルアプリケーションを構築する場合Ajaxナビゲーションシステムがグローバルに無効になっているか、個々のリンクで頻繁に無効になっている場合は、$ .mobile.pushStateEnabledグローバル設定オプションを無効にして、一部のブラウザでのナビゲーション動作が一貫しないようにすることをお勧めします。

http://demos.jquerymobile.com/1.4.2/navigation-linking-pages/

それを無効にするには:

$(document).bind("mobileinit", function() { 
    $.mobile.ajaxEnabled = false; 
    $.mobile.pushStateEnabled = false; 
}); 
1

を$ .extend($。モバイル、{ ajaxEnabled:false、 hashListeningEnabled:false });

これも私のために働いた。 iPhone 5では、(.pagecontainer( "change")メソッドを使用して)ページを参照します。このページはクライアントコードで動的に生成されたので、実際のURLではありませんでした。とにかく、初めて私がバックボタンを使用したとき、それはうまくいくでしょう。 2回目に別のページに移動すると、移行が起こり、ページがすばやくフラッシュ/リロードされます。その後、戻るボタンが機能しなくなりました。

このコードをこのタグに実装すると、私の仕事に役立ちました。あなたのjqueryリファレンスの後にこれを置いてください、あなたのjquery MOBILEリファレンスの前にしてください。これは本当にイライラするゴチャです。私のタグは次のようになります:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> 
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> 
<script type="text/javascript"> 
    $(document).bind("mobileinit", function() { 
     $.mobile.ajaxEnabled = false; 
     $.mobile.pushStateEnabled = false; 
    }); 
</script> 
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
<script src="phonebook.js"></script> 
関連する問題