2017-07-15 12 views
0

我想使用jQuery來更改url查詢字符串而不重新加載頁面,鏈接可能是這樣的www.example。 com/innerpage?tab = xyz & para = abc ..我想追加這些查詢,當點擊該內頁中的鏈接時。所以當複製鏈接並與其他人分享時,我會閱讀這些查詢以再次打開目標部分!更改url查詢字符串或附加,如果不存在,當點擊一個鏈接,而不重新加載頁面

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); 
}); 

看看我的代碼在我的codepen

回答

0
var queryString = 'yourblock1'; 
    var pageUrl = '?' + queryString; 
    window.history.pushState('', '', pageUrl); 

但重裝,你應該檢查的參數和使用滾動JS來阻止後。

+0

是的,我已經做了滾動後閱讀查詢字符串..謝謝! – user3003810

相關問題