您好,我使用$.mobile.changePage('test.html');
从一个页面导航到另一个页面。这在android,symbian和blackberry6 +中运行良好。但我也希望我的应用程序在blackberry5上运行。 Blackberry5不支持ajax,因此$.mobile.changePage('test.html');
无效。
出于这个原因,我使用window.open("test.html");
和window.location.href = "test.html";
这里它在所有平台上都很完美,包括blackberry4.6 +。但现在问题是我在test.html中有标题:
<div data-role="header" align="center">
<a href="#" data-rel="back" data-icon="arrow-l">Back</a>
<h1>Test.html</h1>
<a href="MainMenu.html" data-icon="grid">Menu</a>
</div>
但现在这里的按钮不起作用了。如果我使用$.mobile.changePage('test.html');
进行导航,那么后退按钮可以完美运行,但不适用于window.open("test.html");
和window.location.href = "test.html";
。
因此我使用会话,然后点击后退按钮我强行呼叫页面。为:
<script type="application/javascript">
function redirect(url)
{
alert("inside redirect:"+url);
window.location = url;
}
</script>
<div data-role="navbar">
<ul>
<li> <a onclick="redirect( getCookie('paged'))" data-icon="back" data-iconpos="notext" data-direction="reverse" class="ui-btn-left jqm-home">Back</a></li>
<li> <a onclick="redirect(getCookie('paged'))" data-icon="back" data-iconpos="notext" data-direction="reverse" class="ui-btn-left jqm-home">Back</a></li>
</ul>
</div>
现在这里的后退按钮也很完美,但是当我点击硬件后退按钮时,它再次转到它来自的前一页。
如何在没有ajax的情况下使用$.mobile.changePage(...)
,以便我可以将它用于所有平台,包括blackberry4.6 +
任何建议将不胜感激。提前谢谢。
答案 0 :(得分:1)
我尝试使用全局配置禁用ajax,但由于某种原因它不适用于我。
我尝试如下,它有效
window.location.href="myfile.html";
答案 1 :(得分:0)
您是否尝试将全局属性$.mobile.ajaxEnabled
设置为false
?见http://jquerymobile.com/demos/1.1.1/docs/api/globalconfig.html。据写道,“jQuery Mobile将在可能的情况下自动处理链接点击并通过Ajax形成提交”。我现在不确定它是否也会影响$.mobile.changePage
,但也许值得一试......
答案 2 :(得分:0)
您可以使用此功能。
$.mobile.changePage('#gototestpage');
但是有一些限制。您必须将代码保存在另一个div中的相同页面中,
<div id="gototestpage"> --- Your Code here ----- </div>
答案 3 :(得分:0)
我尝试了这两个解决方案,两个都适合我:
window.location.href = yourpageurl;
或
$.mobile.ajaxEnabled = false;
$(":mobile-pagecontainer").pagecontainer( "change", yourpageurl);