为history.back按钮定义参考站点

时间:2018-10-31 07:58:55

标签: javascript php html

我们希望在我们的网站中有一个后退按钮 但是使用javascript的history.back不能帮助我们。 我们需要此功能仅在站点上运行,并且如果用户来自其他站点,则单击上一个站点上的返回按钮不应返回。

实际上,我们希望返回按钮仅在我们的网站上运行。  我的代码是

<Connector port="8443" acceptCount="100" 
    disableUploadTimeout="true" enableLookups="false"
    keystoreFile="/home/myPc/.keystore" keystorePass="my_password" 
    protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />

2 个答案:

答案 0 :(得分:5)

这仅适用于您自己的后退按钮,不适用于浏览器的后退按钮

有两种方法可以实现这一目标:一种简单但并非始终可靠的方法,以及一种复杂但始终良好的方法。

1-简单方法

您使用document.referrer并在致电history.back()之前确保域是您的域。

2-复杂的方法

您可以在页面加载时注册一个JavaScript函数,以获取第一个URL,您可以使用history.pushState存储该URL。在调用back函数之前,您可以确保该页面不在该页面上。不过,由于用户可能已经两次登陆该页面,所以这个想法还不完整。即主页->产品->主页。我将让您搜索进一步的代码,以解决此问题。

答案 1 :(得分:2)

此代码可在单击“后退”按钮并正常工作后在浏览器中查看历史记录

$('#backbtn').click(function () {
    if (document.referrer.includes(window.location.hostname)) {
        window.history.back();
    }
    else {
        window.location.href = "/admin/dashboard";
    }
});