我有一个名为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后,网址将更改为
../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()
答案 0 :(得分:0)
您只需解析window.location.hash
见这个例子:
How can I get query string values in JavaScript?
并替换window.location.search
window.location.hash
答案 1 :(得分:0)
jQM文档建议使用其中一个插件作为参数:
jQuery Mobile不支持传递查询参数 内部/嵌入页面,但您可以添加两个插件 您的项目是否支持此功能。有一个轻量级的page params plugin和功能更全面的jQuery Mobile router plugin 用于backbone.js或spine.js。
文档:(请参阅已知限制部分)