2012-01-01 18 views
3

有没有什么办法可以创建一个按钮,它会点击带你到前一页 ,然后立即刷新页面?我使用下面的代码返回到前一页,但它不会重新加载/刷新..转到上一页和刷新 - 都在一个按钮使用JavaScript/Jquery

<input type="button" value="Back" onClick="javascript: history.go(-1)"> 

谢谢:)

+0

它是否必须像后退按钮一样工作?即如果表单已发送,请重新提交表单? – PeeHaa 2012-01-01 20:55:11

+0

POST重新发送有一个解决方案。它在PHP中被称为'header'。 http://www.electrictoolbox.com/php-303-redirect/这可以防止POST重新提交,同时在历史中向后移动。 – Joseph 2012-01-01 20:58:08

+0

嗨,PeeHaa感谢您的回复。 ..不..不只是后退按钮,而且在刷新页面后,当用户转到上一页时。但是我有我的解决方案。我只是使用this- onClick =“location.href = document.referrer;它正在工作。 – 2012-01-01 21:31:52

回答

9

只有这样,才能刷新加载页面将在新的使用window.location.reload()页。

你可以尝试让使用document.referrer最后URL(或通过保持自己的网页浏览历史记录在cookie中),然后添加一些东西到哈希,使它象:

http://stackoverflow.com#didGoBack

然后,在javascript中,检查是否存在使用window.location.hash的散列,如果是,则重新加载页面。注意。除非他们通过链接到达该页面,否则不会设置引荐来源。

+1

嗨,Jesse Bunch ..谢谢你的回复。我试过了 - onClick =“location.href = document.referrer;它正在按我想要的方式工作。 :) – 2012-01-01 21:29:45

3

我想我发明了一个这样做的方法。通过给url添加一个随机参数,我们强制浏览器刷新...

var backLocation = document.referrer; 
if (backLocation) { 
    if (backLocation.indexOf("?") > -1) { 
     backLocation += "&randomParam=" + new Date().getTime(); 
    } else { 
     backLocation += "?randomParam=" + new Date().getTime(); 
    } 
    window.location.assign(backLocation); 
} 
相关问题