代码Index.html
<div data-role="page" id="index">
<div data-role="header">
<h3>
First Page
</h3>
</div>
<div id="data">
</div>
<div data-role="content">
<button data-role="button" id="changePage">Pass parameters with changePage function</button>
<a href="second.html" data-role="button">Or through a basic link</a>
</div>
</div>
和我的js文件
$(document).on('tap', "#changePage",function () {
$.mobile.changePage('second.html', { reloadPage : false, changeHash : true });
});
和second.html
<div data-role="page" id="second">
<div data-role="header">
<h3>
Second Page
</h3>
</div>
<div data-role="content">
<div id="data"></div>
<div data-role="button" id="clickBtn">click me</div>
<div data-role="button" id="paqeBtn">change Page</div>
</div>
</div>
所有这些文件都使用PhoneGap / Cordova打包并在设备上运行。
基本上我试图通过绑定到我的JS文件中的ID #changePage,在tap事件上使用$ .mobile.changePage(“second.html”)将second.html加载到index.html页面。
这完全正常
Android手机
Internet Explorer 9和10
Webkit浏览器
但问题是以上代码无法在Windows Phone 8上运行
我正在测试的设备是诺基亚Lumia 920 使用的Jquery框架是
jquery.mobile-1.3.2.js
的jquery-2.0.3.js
我还尝试使用$ .ajax作为dataType:“html”和$ .load函数所有这些在上面提到的其他环境中完全正常,除了Window Phone 8(上面提到的设备)
我也跟着这个
StackOverflow solution for Window phones
什么都没有用!!!!!
答案 0 :(得分:2)
var url = window.location.href;
url = url.split('#').pop().split('?').pop();
url = url.replace(url.substring(url.lastIndexOf('/') + 1),"second.html");
$.mobile.changePage(url, { reloadPage : false, changeHash : false });
我使用了OMAR jquery 1.9.1建议的Jquery。并且在将URL传递给移动更改页面之前仍需要解析URL。上面的代码完全正常。
以上代码仍不适用于Jquery 2.0+,请使用1.9.x版本! -
我的建议是不要在Windows Phone上使用jquery 2.0+
它不适用于Window Phone,包括$ .ajax,$。load,$ .get
之类的Ajax调用答案 1 :(得分:0)
前几天我遇到了同样的问题。必须在$.mobile.changePage('second.html', { reloadPage : false, changeHash : true });
旧的Android设备上存在类似的问题。
答案 2 :(得分:0)
我刚开始工作有点类似@conor的答案。也许尝试使用页面css id作为选择器。
使用jquery mobile 1.3
jQuery的:
$(document).ready(function () {
$(".myinfo").on("tap", function(){
$.mobile.changePage("#MyInfo", { transition: "none", reverse: false, changeHash: true});
});
HTML:
<div data-role="page" id="MyInfo">
<div data-role="header" data-theme="e">
链接:
<li><a href="#" data-icon="custom" class="myinfo">My Info</a></li>
答案 3 :(得分:0)
@ Nirus的解决方案就像下面环境中的魅力一样:
我希望Phonegap或jQM的团队能够在不久的将来解决这个问题。