2015-10-15 208 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

相关问题