0

我有一个名为 servicesDetails.html 的页面,其中包含链接。网址如下所示

../Myapp/servicesDetails.html?servicetype=Advanced&serviceid=1208

单击时的链接会加载一个名为audioListPage的内部页面,其中包含一些参数,链接如下所示

<a href="#audioListPage?audioid=123&audiotype=mp3" class="loadAudio" data-role="button" data-mini="true" data-inline="true">

加载 audioListPage 后,url 更改为

../Myapp/servicesDetails.html?servicetype=Advanced&serviceid=1208#audioListPage?audioid=123&audiotype=mp3

当audioListPage加载时,我需要向用户显示audioid和audiotype,我该怎么做?

根据下面的评论,我尝试了这个

$.urlParam = function(name){
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
return results[1] || 0;
}

$('#audioListPage').live('pagecreate',function(event) {
   console.log($.urlParam('audioid '));//this is giving me an error
});

我检查了为什么会发生错误,发现 window.location.href 只给我 ../Myapp/servicesDetails.html?servicetype=Advanced&serviceid=1208,而不是更新的 URL。我不确定我是否调用 $.urlParam( ) 在正确的事件中

4

2 回答 2

0

你可以解析window.location.hash

看这个例子:

如何在 JavaScript 中获取查询字符串值?

并更换window.location.search

window.location.hash

于 2012-06-29T11:27:05.543 回答
0

jQM 文档建议使用以下插件之一作为参数:

jQuery Mobile 不支持将查询参数传递给内部/嵌入式页面,但是您可以添加两个插件到您的项目中来支持此功能。有一个轻量级页面参数插件和一个功能更全面的jQuery Mobile 路由器插件 ,可与主干.js 或脊柱.js 一起使用。

文档:(请参阅已知限制部分)

于 2012-06-29T13:44:36.597 回答