5

次のような基本的な jQuery Mobile ページがあります。

<div data-role="page" id="home">

</div>
<div data-role="page" id="products">

</div>

外部リンクから製品ページにリンクしない限り、すべてが期待どおりに機能します。私は試しました: mysite.com/mobile/default.aspx#products しかし、それはホームページしか表示しません。製品ページを表示する外部リンクの方法はありますか?

4

3 に答える 3

4

簡単に言えば、複数ページのドキュメント内の特定のページに直接リンクすることはできません。

残念ながら、jQuery Mobile の仕組みでは、複数の「ページ」を持つページにリンクすると、デフォルトでは最初のページのみが読み込まれます。外部のマルチページ ドキュメント全体を読み込むには、ajax なしでページを読み込む必要があります (たとえばrel="external"、または、ajax を使用してページをロードする場合は、サブページ プラグインを使用できます。

リンクに関する限り、ページを分離するか、ajax を介して外部のマルチページ ドキュメントをプリロードし (上記でリンクしたプラグインを使用するか、必要に応じて手動で)、内部ページとしてリンクする必要があります。

ドキュメントから

Ajax 経由で読み込まれたモバイル ページから複数の内部ページを含むページにリンクする場合は、リンクに rel="external" または data-ajax="false" を追加する必要があることに注意してください。これは、URL の Ajax ハッシュを消去するために、フレームワークにページ全体のリロードを行うように指示します。Ajax ページはハッシュ (#) を使用して Ajax 履歴を追跡しますが、複数の内部ページはハッシュを使用して内部ページを示すため、これら 2 つのモード間でハッシュに競合が生じるため、これは重要です。

たとえば、複数の内部ページを含むページへのリンクは次のようになります。

<a href="multipage.html" rel="external">Multi-page link</a>
于 2012-12-19T21:27:46.633 に答える
1

「ページ」ごとに、id を指定したのと同じ名前の data-url 属性を追加します。

<div data-role  = 'page'                         
     id         = 'page_baseball_hats'  
     data-url   = 'page_baseball_hats'    
  >                                             

次に、www.myjqmsite.com/#page_baseball_hats のように、jqm が既に生成している URL ハッシュ システムを使用して、サイトの外部から「サブページ」に直接リンクできるようにする必要があります。

2 番目の段落でこのアイデアを紹介します: http://jquerymobile.com/demos/1.0a3/docs/pages/docs-navmodel.html

于 2013-02-18T19:58:17.693 に答える