2011-09-13 68 views
2

使用JQMobile構建移動網站。由於項目的規模,我決定採用多頁面方式(多個html文件)。不過,我正在構建的其中一個頁面更適合作爲具有多個div的html文件。爲了加載這些多個div,我不得不使用rel="external"data-ajax="false",以便它將所有的div與data-role="page"並列,而不僅僅是頁面上的第一個div。但是,這會打破JQMobile的歷史記錄,並在使用data-add-back-btn="true"時不再顯示後退按鈕。JQuery Mobile data-ajax = false的歷史記錄

有沒有人知道一個解決方案來拉多個div而不強制完全重新加載頁面?或者將兩種模式混合使用而保留JQMobile上的歷史?

+0

您正在使用的jQM版本?也許一些代碼如何實現它哦jsfiddle.net –

+0

我正在使用JQM 1.0b3 – avivas

+0

我正在使用JQM 1.0b3。另外,儘管我將它添加到了[jsfiddle](http://jsfiddle.net/bfpN8/2/),但它很難,因爲我有多個html文件。問題是,ajax方法只用data-role =「page」來拉第一個div,但我需要這個外部html頁面中的一個具有多個div,但是當我這樣做時,後退按鈕不會呈現。 – avivas

回答

2

工作實施例:

主HTML

<div data-role="page"> 
    <div data-role="header"> 
     <h1>Demo Page</h1> 
    </div><!-- /header --> 
    <div data-role="content"> 
     <h2>Lorem Ipsum</h2> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque semper feugiat condimentum. Donec rutrum lectus tortor, et pharetra sapien. Sed sollicitudin lectus sed urna consectetur sagittis. Pellentesque at arcu dui. Curabitur molestie velit id neque mattis vestibulum. Sed sit amet ante at tellus volutpat tempor quis eu magna. Pellentesque elementum semper congue. Praesent vitae eros id ante dapibus commodo. Aliquam leo nisi, feugiat eu imperdiet sed, tincidunt in lacus. Praesent bibendum dapibus vestibulum. Fusce condimentum bibendum libero eu aliquet.</p> 
     <ul data-role="listview" data-dividertheme="d" style="margin-top: 0;"> 
      <li><a href="http://jsfiddle.net/phillpafford/rGacN/4/embedded/result/" rel="external" data-transidiont="slide">Link 1 (External)</a></li> 
      <li><a href="#internal">Internal Link1</a></li> 
      <li><a href="#internal2">Internal Link2</a></li> 
      <li><a href="#internal3">Internal Link3</a></li> 
     </ul> 
    </div><!-- /content --> 
</div><!-- /page -->  

外部HTML

<div data-role="page"> 
    <div data-role="header"> 
     <a data-rel="back">Back</a> <!-- Here you add the data-rel --> 
     <h1>External Demo Page</h1> 
    </div><!-- /header --> 
    <div data-role="content"> 
     <h2>Lorem Ipsum</h2> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque semper feugiat condimentum. Donec rutrum lectus tortor, et pharetra sapien. Sed sollicitudin lectus sed urna consectetur sagittis. Pellentesque at arcu dui. Curabitur molestie velit id neque mattis vestibulum. Sed sit amet ante at tellus volutpat tempor quis eu magna. Pellentesque elementum semper congue. Praesent vitae eros id ante dapibus commodo. Aliquam leo nisi, feugiat eu imperdiet sed, tincidunt in lacus. Praesent bibendum dapibus vestibulum. Fusce condimentum bibendum libero eu aliquet.</p> 
    </div><!-- /content --> 
</div><!-- /page -->  
+0

謝謝你的例子;我現在遇到的問題是,當我從外部頁面回來時,上一頁上的後退按鈕不再出現。讓我解釋一個場景: 當我用鏈接rel =「external」訪問這個頁面時,我訪問了多個「頁面」並生成了一個歷史記錄,因爲這些頁面有'data-add-back- btn =「true」標誌。但是,在導航到外部並返回後,後退按鈕不再存在。 – avivas

+0

你可以給你的代碼鏈接? –

+1

如果您想返回,只需將data-rel屬性添加到您需要的每個導航/標題頁面即可。我已經添加了另一個例子來展示這一點。瀏覽所有頁面,最後一頁也是外部頁面:http://jsfiddle.net/phillpafford/bfpN8/14/ –