我的应用程序中有一个初始初始化页面,它充当入口点并加载我的登录页面。
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile- 1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
</head>
<body>
<!-- initialse and load the application -->
<div data-role="page" id="init">
<script type="text/javascript">
$('#init').live( 'pageinit', function() {
window.location.href="views/login.html";
});
</script>
</div>
</body>
</html>
当我的登录页面加载时,有一个加载对话框的按钮。此按钮最初不起作用,仅在手动刷新页面时加载对话框。为什么会发生这种情况,如何在页面加载时立即启用按钮/对话框。
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
</head>
<body>
<!-- login page -->
<div data-role="page" id="login">
<!-- css -->
<link rel="stylesheet" href="../css/global.css" />
<link rel="stylesheet" href="../css/login.css" />
<!-- page markup -->
<div data-role="header">
<a href="#settings_dialog" data-rel="dialog" data-role="button" data-mini="true" data-inline="true" data-icon="gear" data-theme="b">Settings</a>
</div>
</div>
<!-- end of page -->
<!-- settings dialog page -->
<div data-role="dialog" id="settings_dialog">
<!-- page markup -->
<div data-role="header" style="text-align: left;">
<a href="" data-rel="back" data-role="button" data-icon="delete" data-iconpos="notext" data-iconpos="left" data-inline="true"></a>
</div>
<div data-role="content">
</div>
</div>
<!-- end of page -->
</body>
</html>
答案 0 :(得分:0)
不确定你是否已修复此问题,但似乎与DOM缓存和放大器有关。 AJAX。
我不确定你是怎么做的,但是当你重新加载窗口时尝试设置ajax: false
。或者你可以通过服务器端重定向(我推荐这个,因为如果用户已关闭JS,它仍然可以工作。
为什么我想出这个是因为我有一个页面上有一个列表,列表项将我发送到一个新页面上有一个跳转链接(#settings_dialog)。在每个列表项上设置data-ajax="false"
以某种方式'刷新'DOM并强制第二页加载'新鲜'并且瞧 - 我的对话框现在100%工作。
因此,简而言之,关闭AJAX功能或(更好)重定向来自服务器端&amp;快乐!