按返回按钮时Document.referrer错误

Nin*_*ist 3 javascript

我有一个PHP / Javascript页面,可通过一次登录自动将用户登录到不同的系统。这些是外部站点,除非用户单击“后退”按钮,否则所有站点均正常运行。然后它将它们重定向到它们的来源。

我希望将其重定向回我的主要网站,并避免陷入这种重定向梦night。所以我尝试了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;
Run Code Online (Sandbox Code Playgroud)

如果我可以使它正常运行,则可以else在其中添加一个,然后将其返回到我的网站。

谢谢!

Reb*_*cca 5

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

需要注意的几点:
1)document.referrer仅在该人通过链接或单击某些内容到达当前页面后才起作用。
2)由于浏览器安全性的实现,您将无法访问其他站点的javascript历史记录。因此,如果您从站点A到站点B进行登录,则将无法从站点B访问站点A的历史记录。

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

如果您要完成的是网站登录,您是否研究了可用的api?像facebook之类的网站都有允许通过其登录您的网站的api。

干杯!