是的,默认情况下不支持哈希上的参数。我一直在使用以下插件来实现这一点,到目前为止它运行得很好;-)
jqm.page.params https://github.com/jblas/jquery-mobile-plugins/blob/master/page-params/jqm.page.params.js
更新 - 如何使用:
我在包含 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);
}
});