場合によっては表示される場合もありますが、表示されない場合もありますので、jquery mobile で ajax 読み込みインジケーターが表示されるようにするにはどうすればよいですか?
3 に答える
アプリに重大な問題がない限り、あなたが説明したことは通常の状況です。
ページ遷移にはかなりの時間がかかる場合がありますが (デスクトップ ブラウザでの通常のページの読み込み/遷移時間は 670 ミリ秒)、へのページの読み込みにはDOM
数ミリ秒しかかかりません (通常は 3 ~ 5 ミリ秒)。AJAX
ローダーは、( へのDOM
) ページの読み込みに 10 ミリ秒以上かかる場合にのみ表示されます。他のページ遷移アクションはAJAX
呼び出しにカウントされないため、ページが にロードされた後、アニメーションは表示されませんDOM
。
ページの読み込み/遷移中のアクション:
- ページの読み込みと処理: 3 ミリ秒 (10 ミリ秒
AJAX
以上かかる場合、ローダーはこのアクション中にのみ表示されます) - ページエンハンス: 45ms
- トランジション: 604ms
これについてもっと読むには、私の他のARTICLEを見るか、ここで見つけて、次の章を検索してください。
もう1つ、通常のページ読み込みAJAX
ローダーを使用していない限り、ローダーは表示されません(リンクに属性rel="external"
または属性がある場合data-ajax="false"
)。
これを行うとき:
$.mobile.changePage( "#page-home", { transition: "none"} );
これを追加:
$.mobile.showPageLoadingMsg();
追加することを忘れないでください
$.mobile.hidePageLoadingMsg();
pageLoad関数の最後に
デフォルトで ajax ナビゲーションが確実に行われるようにするために、リンクとボタンに data-ajax="false" 属性を追加しない限り、Jquery Mobile は DOM にロードされたページに ajax ナビゲーションを追加します。そうしないと、特定のページで ajax ナビゲーションを無効にするグローバルな変更を追加した可能性があります。
または、一部のリンクとボタンの属性として rel="external" を使用して、ajax ナビゲーションを無効にすることもできます。
より具体的に、つまり問題のjsfiddleの例を投稿していただければ、より良い説明ができます。また、使用している Jquery Mobile のバージョンもお知らせください。