我正在使用 jquery mobile,并且尝试在同一页面内传递变量。
<a href="page2.html?var1=foo&var2=bar">link1</a>
<a href="page2.html?var1=something&var2=bbq">link2</a>
点击链接后,页面将被放入 DOM 中。我知道我必须重新加载页面才能应用新变量,但我还没有成功地做到这一点:
$.mobile.changePage("page2.html", {reloadPage : true,});
当页面加载时,我使用以下内容:
$(document).delegate('#page2','pageinit', function(){
$.mobile.changePage("page2.html", {reloadPage : true});
});
上面的代码只会让页面永远循环,这显然不是我想要的。我尝试将changePage 移出pageinit 的一侧,但需要将其放在pageinit 内的原因是为了后退按钮能够工作。然后我想也许我可以从url中获取变量,所以我尝试使用jqm.page.params.js进行以下操作:
$(document).delegate('#page2','pageinit', function(){
if ($.mobile.pageData && $.mobile.pageData.proj_id){
console.log("Parameter var1=" + $.mobile.pageData.var1);//does not print at all.
}
console.log("Parameter obj =" + $.mobile.pageData); // prints NULL
});
我在文档中找到了一个插件链接,该插件允许您使用名为 jqm.page.params.js 的 url 中的参数。但没有关于如何使用此插件的示例。
这里有人知道如何使用这个插件吗?或者,当您在链接到同一页面但具有不同变量的同一页面上时,是否有更好的传递变量的方法?
最佳答案
我认为 pageinit
太早了,所以参数没有被解析。为您的听众尝试 pagebeforeshow
。
关于jquery - 如何使用 jqm.page.params.js 插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9952701/