我有两个缩小的html文件,i1.html和i2.html - 它们几乎相同,应该很容易运行。
i1.html(page1)有一个popup1页面,允许用户留在page1或转到i2.html(第2页)。
i2.html(第2页)有一个popup2页面,应该允许用户留在第2页或转到i1.html(第1页)。
我在Chrome和Firefox中遇到的问题是page1弹出窗口可以让用户访问i2.html(第2页)。但是一旦在i2.html上,它就无法导航到page1。弹出窗口不会响应。如果我进行移位刷新,它会,但可以注意到弹出页面搞砸了(出现两个很多按钮,看起来像是从i1.html。)
我遇到的一个相关问题是,如何调试一个没有做任何事情的按钮。感谢。
i1.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>i1</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
<div data-role="page" id="page1">
<div data-role="header">
<h1>Page 1</h1>
</div>
<div data-role="main" class="ui-content">
<p><a href="#popup1" data-role="button" data-rel="dialog" data-transition="pop">Navigate via popup dialog</a></p>
</div>
<div data-role="footer">
<h1>page bottom</h1>
</div>
</div>
<!-- Start #popup page -->
<div data-role="page" id="popup1">
<div data-role="header" data-theme="b">
<h1>Dialog</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
<h2>Popup</h2>
<p>Some text</p>
<p><a href="#page1" data-rel="back" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-icon-back ui-btn-icon-left">Back to page one</a></p>
<p><a href="i2.html" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-icon-back ui-btn-icon-left">Go to Page2</a></p>
</div><!-- /content -->
<div data-role="footer">
<h4>Pop up Footer</h4>
</div><!-- /footer -->
</div><!-- /page popup -->
</body>
</html>
和i2.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>i2</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
<div data-role="page" id="page2">
<div data-role="header">
<h1>Page 2</h1>
</div>
<div data-role="main" class="ui-content">
<p><a href="#popup2" data-role="button" data-rel="dialog" data-transition="pop">Navigate via popup dialog</a></p>
</div>
<div data-role="footer">
<h1>page bottom</h1>
</div>
</div>
<!-- Start #popup page -->
<div data-role="page" id="popup2">
<div data-role="header" data-theme="b">
<h1>Dialog</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
<h2>Popup2</h2>
<p>Some text</p>
<p><a href="#page2" data-rel="back" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-icon-back ui-btn-icon-left">Back to page 2</p>
<p><a href="i1.html" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-icon-back ui-btn-icon-left">Go to Page 1</a></p>
</div><!-- /content -->
<div data-role="footer">
<h4>Pop up Footer</h4>
</div><!-- /footer -->
</div><!-- /page popup -->
</body>
</html>
答案 0 :(得分:1)
好的,我做了一个测试
发生的事情是JQM通过ajax加载页面。当您导航到第2页时
<div role="main" class="ui-content">
<h2>Popup2</h2>
<p>Some text</p>
<p><a href="#page2" data-rel="back" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-icon-back ui-btn-icon-left">Back to page 2</p>
<p><a href="i1.html" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-icon-back ui-btn-icon-left">Go to Page 1</a></p>
</div>
被剥离,因为我怀疑你在另一页上有<div role="main" class="ui-content">
,因此按钮不起作用,因为它们没有运行的DOM代码。
关闭ajax导航功能可修复问题data-ajax="false"
<p><a href="i1.html" data-ajax="false" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-icon-back ui-btn-icon-left">Go to Page 1</a></p>
<p><a href="i2.html" data-ajax="false" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-icon-back ui-btn-icon-left">Go to Page2</a></p>
此处有更多信息
http://demos.jquerymobile.com/1.2.1/docs/pages/page-links.html
现在正常工作