5

jqmページに次のような「通常の」リンクがあります。

<a href="http://www.mysite.com/mobile/page.php?attribute=value">

クリックすると、属性値を考慮して適切に更新されず、属性値に基づいて動的に必要なものがすべて読み込まれます。これは、jqm が次のように ajax 呼び出しを実行しようとしていることが原因であることを理解しています

 When you use pageChange an Ajax request will be made to that url and it will be
 loaded only the content inside the div with data-role="page". So everything you
 have out of this element will be ignored (JS and CSS).

そのため、使用する必要があるドキュメント$.mobile.ajaxEnabled=false;、リンク、またはrel=externalリンクで見つけましたtarget=_blank

私にとって奇妙なことは、target=_blankプロパティをリンクに設定した場合にのみ、これが本当に起こるということです。それで、誰かがこの種の問題を抱えていて、どうやってそれを解決したのか疑問に思っていますか? target=_blank問題は、ブラウザで新しいタブを開くので、フォームの使用を控えたいということです (予想どおりですが、これはユーザーの POV からは良くありません)。

私が使用しているjqmのバージョンは1.2です

4

2 に答える 2

15

この質問は現在、Google の検索結果の上部に表示されているので、答えようと思います。

data-ajax 属性を使用して false に設定し、リンクをクリックしたときにリロードを強制します。

data-ajax="false"

次のように使用します。

<a href="/" data-ajax="false">
    <img id="mainLogo" src="logo.svg" width="215" />
</a>

そして、あなたのリンクはページを強制的にリロードします!

Ajax を使用しないリンク

他のドメインを指すリンク、または rel="external"、data-ajax="false" または target 属性を持つリンクは、Ajax では読み込まれません。代わりに、これらのリンクによってページ全体が更新され、遷移のアニメーションは表示されません。両方の属性 (rel="external" と data-ajax="false") は同じ効果がありますが、セマンティックな意味が異なります。別のサイトまたはドメインにリンクする場合は、rel="external" を使用し、data-ajax=" を使用する必要があります。 false" は、ドメイン内のページが Ajax 経由で読み込まれないように単純に選択する場合に便利です。セキュリティ上の制限により、フレームワークは常に Ajax の動作から外部ドメインへのリンクを選択します。

https://stackoverflow.com/a/22951472から取得したパーツ

于 2014-04-26T16:03:11.237 に答える