传递参数我使用jQuery 1.1.1移动从电子邮件链接到jQuery的移动网络应用程序
正如我的应用我建密码检索功能的一部分创建一个Web应用程序。如果用户需要重新设置自己的密码,他们填写表格,并收到一封电子邮件,其中包括密码重置页面的地址和其他两个参数作为这样一个链接:
www.mywebapp.com/demo.html#resetPassword?x=123&y=123
最初的问题: 当用户点击链接时,即使地址栏中的网址显示为:www.mywebapp.com/demo.html#resetPassword?x=123 & y = 123 I了解jQuery Mobile不支持散列后传递参数,所以我提出了以下解决方案。
用小不便的解决方案: 我总结了以下代码,它读取URL,抓住我的两个参数和用户密码重置页面重定向:
$(document).bind("pagebeforeshow", function() {
//cpe("parameter") will check whether the specified URL parameter exists
if(cpe("x") && cpe("y")){
//gpv("parameter") captures the value of the specified URL parameter
recovery.username=gpv("x");
recovery.token=gpv("y");
$.mobile.changePage("#resetPassword");
}
})
不便,因此我目前的问题是: 当用户点击电子邮件中的链接时,浏览器启动并打开应用程序的主页面,然后快速显示#resetPassword页面。我明白,这是因为我改变了页面
$.mobile.changePage("#resetPassword");
但是,我怎么修改上面的代码,使用户不会看到主页面可言,而直接进入到#resetPassword页?
如果你还在寻找一个干净的解决这个问题,我最近建立了一个[插件](https://github.com/CameronAskew/jquery.mobile.paramsHandler)此 –