按下后退按钮时Document.referrer错误

时间:2012-01-31 18:32:20

标签: javascript

我有一个PHP / Javascript页面,可以通过一次登录自动将用户登录到不同的系统。这些是外部网站,除非用户点击后退按钮,否则一切都很好。然后它将它们重新定向到它们来自的位置。

我希望将它重定向回我的主网站,避免陷入这种重定向噩梦。所以我尝试了document.referrer,但这似乎只是抓住我所在的当前页面而不是引用的网站。我错了还是不能这样做?

function myfunc () {
    var frm = document.getElementById("loggedin1");
    if(document.referrer != 'https://someurl') {
        alert(document.referrer);//Just used to see output
        frm.submit();
    }
}

window.onload = myfunc;

如果我可以使其正常运行,我会在其中添加else并让它返回我的网站。

谢谢!

1 个答案:

答案 0 :(得分:4)

听起来您正在尝试返回上一页,这不在您所在页面的网站内?

几点:
1)document.referrer仅在此人通过链接到达当前页面或点击某些内容时才有效....如果他们通过其他方式重定向,则不会。 2)由于浏览器安全实施,您将无法访问其他网站的JavaScript历史记录。因此,如果您从站点A站点A到站点B进行登录,则无法从站点B访问站点A历史记录。

如果您需要将它们带回到您网站上的上一页,您是否可以使用iframe加载外部网页?这样他们永远不会离开你的网站?或者也许是一个窗口弹出窗口?

如果您要完成的是网站登录,那么您是否查看了可用的api?像facebook这样的网站允许通过他们的网站登录。

干杯!