2015-10-15 206 views
2

我想在#後的URL中添加文本,然後重新加載頁面。更改URL後重新加載頁面

我做:

<a href="current_url+'#'+sample" onclick="location.reload();">Click Here</a> 

,它是在谷歌瀏覽器工作正常,但在Firefox它重新加載頁面,但該網址片段「#sample」是不存在的。這意味着它讓我回到沒有#字符串的同一頁面上。但我確實需要它。

我也曾嘗試:

$('a').click(function(){ 
      location.reload(true);  //even window.location.reload(true); 
}); 

,但沒有得到積極的結果。

我該怎麼辦?

+1

爲什麼在添加哈希標記後需要重新加載頁面? – cmorrissey

+0

使用哈希重新加載頁面聽起來有點奇怪,因爲哈希部分用於做相反的,防止重新加載,但仍然更改網址。你想做什麼? – Shilly

+0

在頁面加載時,我檢測到散列後的文本,並使用ajax將其發送給控制器,並相應地更改頁面上的內容。 – Wolfack

回答

-1

基本上,你把當前的URL,即document.location.href並添加你想要的文字:

<a href="javascript:void(0);" onclick="changeUrl(sample);">Click Here</a> 

function changeUrl(text) { 
    document.location.href = document.location.href + "#" + text; 
} 

請注意,此解決方案不需要jQuery的。

+0

我也試過了..但它沒有幫助..我也不能在href中添加javascript:void ...我只想要一個url – Wolfack

+0

然後,使用jQuery'$ ('a')。attr('href',$('a')。attr('href')+「#」+ sample);'? – pistou

2

通過添加錨標記的onclick(with window.location)中的鏈接來解決此問題。

<a href="javascript:void(0)" onclick="window.location='current_url+'#'+sample'; location.reload();">Click Here</a> 
+0

這是正確的解決方案。謝謝! – tfont

相關問題