首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在不重新加载页面的情况下单击链接时更改url查询字符串或追加(如果不存在)

在不重新加载页面的情况下单击链接时更改url查询字符串或追加(如果不存在)
EN

Stack Overflow用户
提问于 2017-07-15 21:54:52
回答 1查看 750关注 0票数 2

我尝试使用jQuery更改url查询字符串而不重新加载页面,链接可能类似于www.example.com/innerpage?tab=xyz like =abc。我想附加这些查询时,点击一个链接,在该网页内。因此,当复制链接并与其他人共享时,我将阅读这些查询来再次打开目标部分!

代码语言:javascript
运行
复制
function getParameterByName(name) {
      url = window.location.href;
      name = name.replace(/[\[\]]/g, "\\$&");
      var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
          results = regex.exec(url);
      if (!results) return null;
      if (!results[2]) return '';
      return decodeURIComponent(results[2].replace(/\+/g, " "));
}

$('.alink').click(function(e){
   e.preventDefault();
   var _link = $(this);
   var _target = _link.attr('href').substr('1');
 var target = $('div[id="'+_target+'"]');
  $('html, body').animate({
          scrollTop: target.offset().top
        }, 500);


    var urlq = getParameterByName('tab');
    if(urlq != null){
        location.href.replace("tab="+urlq, "tab="+_target);
    } else {
        location.href+= "?tab="+_target;
    }
    console.log(urlq);
});

查看我的码页上的代码

EN

Stack Overflow用户

回答已采纳

发布于 2017-07-15 22:11:54

代码语言:javascript
运行
复制
  var queryString = 'yourblock1';
  var pageUrl = '?' + queryString;
  window.history.pushState('', '', pageUrl);

但是在重新加载之后,您应该检查参数并使用js滚动到块。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45123060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档