我将一个参数传递给一个页面,并使用data-url属性进行检索,它可以正常工作。但是,如果我刷新该页面,则url参数将不可用。应该怎么做呢。请帮助。
答案 0 :(得分:1)
您可以将url参数存储在HTML5的localStorage
中。通常,除了IE之外,所有浏览器(包括移动设备)都支持localStorage
,因为它存在一些稳定性问题。
存储url参数
window.localStorage.setItem("param", yourParam);
然后,检查localStorage
中是否存在该项目,如果是,则从那里获取并使用。
if(window.localStorage["param"] != undefined)
{
var param= window.localStorage["param"];
}
完整工作流程
var param = "", local = window.localStorage;
if(local["param"] != undefined)
{
param = local["param"];
}
else
{
//store the param in a database/in the server session and retrieve from there.
param = getFromServer();
//set item in localStorage
local.setItem("param", yourParam);
}
有关详情,请转到 link
答案 1 :(得分:0)
此问题的解决方法是检查data("url")
是否包含问号?
。如果没有,您可以从window.location.href
。
此代码:
$.mobile.changePage('car-details.html', {
data: {
id: 'my_id'
}
});
创建网址:... / car-details.html?id = my_id
以下代码处理正常转换和页面刷新的情况。在页面刷新的情况下,从window.location.href
var passedId = (($(this).data("url").indexOf("?") > 0) ? $(this).data("url") : window.location.href ).replace( /.*id=/, "" );
有关完整示例,请查看此StackOverflow answer