0

如果此链接存在锚点http://localhost:8888/#view_trend?id=147&title=prague-test-trend-sep-30

单击时,仅http://localhost:8888/#view_trend在浏览器中可见。

由于我用于location.href获取链接信息,因此我需要在打开链接时查看带有参数的完整链接。

我怎样才能做到这一点?

4

1 回答 1

0

我假设#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;
}
于 2013-10-01T14:38:25.380 回答