在jQuery Mobile中混合单页和多页文档

时间:2013-02-14 10:36:52

标签: jquery-mobile

我从jQuery Mobile开始,我遇到了问题。我有两个HTML文档:

  • page1.html
  • page2.html
    • page2a
    • page2b

问题如下:

  • 当我从page1.html浏览到page2.html时,它显示page2a,但我无法浏览到page2b
  • 当我从page1.html浏览到page2a时,它停留在page1.html
  • 当我从page2.html浏览到page2a或page2b时,它运行良好

我的解决方案有什么问题?是否有任何好的解决方案让它正常工作?

以下是供参考的代码:

Page1.html

<!DOCTYPE html> 
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1"> 
  <title>Page 1</title> 
  <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0-rc.1/jquery.mobile-1.3.0-rc.1.min.css" />
  <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
  <script src="http://code.jquery.com/mobile/1.3.0-rc.1/jquery.mobile-1.3.0-rc.1.min.js"></script>
</head> 

<body> 

<div data-role="page">
  <div data-role="header">
    <h1>Single page</h1>
  </div>
  <div data-role="content">  
    <p>See <a href="page2.html">page 2</a>.</p>
    <!-- <p>See <a href="page2.html#a">page 2a</a>.</p> -->
  </div>
</div>

</body>
</html>

Page2.html:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1"> 
  <title>Page 2</title> 
  <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0-rc.1/jquery.mobile-1.3.0-rc.1.min.css" />
  <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
  <script src="http://code.jquery.com/mobile/1.3.0-rc.1/jquery.mobile-1.3.0-rc.1.min.js"></script>
</head> 

<body> 

<!-- Start of first page: #a -->
<div data-role="page" id="a">
  <div data-role="header">
    <h1>Page 2a</h1>
  </div>
  <div data-role="content" >  
    <p><a href="#b" data-role="button" data-transition="slide">Show page "2b"</a></p>
  </div>
</div>

<!-- Start of second page: #b -->
<div data-role="page" id="b">
  <div data-role="header">
    <h1>Page 2b</h1>
  </div>
  <div data-role="content">  
    <p><a href="#a" data-direction="reverse" data-transition="slide" data-role="button">Back to page "2a"</a></p>  
  </div>
</div><!-- /page b -->

</body>
</html>

1 个答案:

答案 0 :(得分:3)

检查以下问题。它似乎只适用于data-rel="external"

JQM Multipage

<强>更新

注意:您无法链接到激活Ajax导航的多页文档,因为框架只会加载它找到的第一个页面,而不是整个内部页面集。在这些情况下,您必须在没有Ajax的情况下进行链接(请参阅下一节)以进行整页刷新以防止潜在的哈希冲突。目前有subpage plugin可以加载多页文档。

来源:JQM - Linking pages