gpt4 book ai didi

jquery - 在 jQuery Mobile 中将参数传递给 page-id

转载 作者:行者123 更新时间:2023-12-03 21:54:13 25 4
gpt4 key购买 nike

我正在尝试将一些参数传递给 jQuery Mobile 中创建的页面 ID。

该网站由带有链接的 ListView 组成,每个 ListView 中都有哈希编码,如下所示:

<li><a href="#pronostico?region=12&ciudad=0">Puerto Natales</a></li>

我已绑定(bind) pagebeforechange 来捕获 URL 中的哈希值,进行参数检测并根据传递的参数数量采取操作。

现在,通过 cookie,我一直在尝试:

$(document).one("pageinit", function(event, data) {
if (location.hash.search(/^(#ciudades|#pronostico)/) === -1) {
if ($.cookie("recordar")) {
$.mobile.changePage($("#pronostico"), {
data: "region=" + $.cookie("region") + "&ciudad=" + $.cookie("ciudad")
});
}
}
});

但它只是将我传递给 #pronostico 页面 ID,哈希中没有任何参数。结果,我得到的页面没有应显示的信息。

提前致谢。

最佳答案

是的,默认情况下不支持哈希参数。我一直在使用以下插件来实现这一点,到目前为止它运行得很好;-)

jqm.page.params

更新 - 如何使用:

包含 jqm.page.params.js 后,我添加了以下代码:

$(document).bind("pagebeforechange", function( event, data ) {
$.mobile.pageData = (data && data.options && data.options.pageData)
? data.options.pageData
: null;
});

例如,一个页面被调用如下:index.html#search?id=mysearchkeyword现在可以在我喜欢的任何页面事件中访问此信息:

$(document).on("pagebeforeshow", "#firstpage", function(e, data){ 
        if ($.mobile.pageData && $.mobile.pageData.id){
            console.log("Parameter id=" + $.mobile.pageData.id);
        }
 });

会将“mysearchkeyword”打印到您的日志控制台。

希望这有帮助!

PS:请注意,我与该插件或其作者没有任何关系

编者注:作者将此作为第二个代码块。在 Jquery 1.9 中,live 被删除了,所以我用 .on 语法更新了上面的示例。原文如下:

$("#firstpage").live("pagebeforeshow", function(e, data){
if ($.mobile.pageData && $.mobile.pageData.id){
console.log("Parameter id=" + $.mobile.pageData.id);
}
});

关于jquery - 在 jQuery Mobile 中将参数传递给 page-id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8238762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com