0

我将参数传递给页面,并使用 data-url 属性检索,它工作正常。但是,如果我刷新该页面,则 url 参数将不可用。为此应该怎么做。请帮忙。

4

2 回答 2

1

您可以将 url 参数存储在 HTML5 的localStorage. 通常,localStorage除 IE 外,所有浏览器(包括移动设备)都支持,它存在一些稳定性问题。

要存储 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

于 2013-06-15T08:05:28.793 回答
0

此问题的解决方法是检查 是否data("url")包含问号?。如果不是,您可以从window.location.href.

这段代码:

$.mobile.changePage('car-details.html', {
    data: {
        id: 'my_id'
    }
});

创建 URL: .../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 答案

于 2013-06-23T21:51:10.667 回答