如果此链接存在锚点http://localhost:8888/#view_trend?id=147&title=prague-test-trend-sep-30
单击时,仅http://localhost:8888/#view_trend
在浏览器中可见。
由于我用于location.href
获取链接信息,因此我需要在打开链接时查看带有参数的完整链接。
我怎样才能做到这一点?
如果此链接存在锚点http://localhost:8888/#view_trend?id=147&title=prague-test-trend-sep-30
单击时,仅http://localhost:8888/#view_trend
在浏览器中可见。
由于我用于location.href
获取链接信息,因此我需要在打开链接时查看带有参数的完整链接。
我怎样才能做到这一点?
我假设#view_trend 是一个内部页面(具有页面数据角色的DIV)。如果是这样,为什么要使用查询字符串参数?你不能只在页面中使用 Javascript 变量,甚至是页面 div 的 Data 属性来存储你的 id 和 title 吗?
如果您确实想使用 url 查询字符串,这里有一个小提琴显示了它可以完成的一种方式http://jsfiddle.net/ezanker/L77u2/
基本上,使用链接的点击事件解析查询字符串并保存到view_trend页面的数据属性中,然后在view_trend的pagebeforeshow中,检索这些参数:
$('#linkTrend').on("click", function () {
var l = $(this).attr("href");
l = l.substring(l.indexOf('?') + 1);
var qs = getUrlVars(l);
$('#view_trend').data("urlqs", qs);
});
$('#view_trend').on('pagebeforeshow', function () {
var qs = $(this).data("urlqs");
var id = qs["id"];
var title = qs["title"];
$('#vtrend').html('trend view for id of ' + id + ' with title of ' + title);
});
function getUrlVars(url) {
var vars = [],
hash;
var hashes = url.split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}