阻止JQuery Mobile隐藏url参数

时间:2013-10-01 12:03:51

标签: javascript jquery jquery-mobile

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

的锚点

点击后,浏览器中只会显示http://localhost:8888/#view_trend

由于我使用location.href来获取链接信息,因此我需要在链接打开时看到包含参数的完整链接。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

我认为#view_trend是一个内部页面(具有页面数据角色的DIV)。如果是,为什么要使用查询字符串参数?你能不能只在页面中使用Javascript变量,甚至是页面div的Data属性来存储你的id和title?

如果您确实想要使用网址查询字符串,请在此处显示其中一种方式{@ 3}}

基本上,使用链接的click事件来解析查询字符串并保存到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;
}