Javascript 仅从特定页面重定向页面

Javascript 仅从特定页面重定向页面,javascript,redirect,Javascript,Redirect,我正在尝试从一个启动页重定向到另一个启动页。我有这个代码,但我希望它只从用户到达的第一页(主页)激活,而不是从网站上的每一页 这是我正在使用的代码,但它一直在每个页面上启动: var url ='http://cargocollective.com/clairelefevre/about'; var delay = 6; var d = delay * 1000; window.setTimeout ('parent.location.replace(url)', d); 谢谢, Matan您

我正在尝试从一个启动页重定向到另一个启动页。我有这个代码,但我希望它只从用户到达的第一页(主页)激活,而不是从网站上的每一页

这是我正在使用的代码,但它一直在每个页面上启动:

var url ='http://cargocollective.com/clairelefevre/about';
var delay = 6;
var d = delay * 1000;
window.setTimeout ('parent.location.replace(url)', d);
谢谢,
Matan

您可以查看参考资料,因此:

if (document.referrer.indexOf(window.location.origin) == -1) {
    window.setTimeout ('parent.location.replace(url)', d);
}

您可以测试父项位置的
值:

if(parent.location == 'http://cargocollective.com/')
{
   var url ='http://cargocollective.com/clairelefevre/about';
   var delay = 6;
   var d = delay * 1000;
   window.setTimeout ('parent.location.replace(url)', d);
}
但老实说,在我看来,它不是很干净。我要做的是在你的主页中添加一个隐藏的输入,带有id和值。通过测试此输入,测试用户是否在主页上

您还可以检查
位置.pathname

if(parent.location.pathname == '/')
{
   //your code
}

我想到了两种解决这个问题的方法

  • 仅将代码放在主页上的脚本标记内:

  • 重定向前,使用if语句测试页面位置是否正确

    if (window.location.pathname === '/') {
        var url ='http://cargocollective.com/clairelefevre/about';
        var delay = 6;
        window.setTimeout ('parent.location.replace(url)', d * 1000);
    }
    

  • 所以只要把代码放在那一页上就行了。
    var url ='http://cargocollective.com/clairelefevre/about';
    var delay = 6;
    window.setTimeout ('parent.location.replace(url)', delay * 1000);
    
    if (window.location.pathname === '/') {
        var url ='http://cargocollective.com/clairelefevre/about';
        var delay = 6;
        window.setTimeout ('parent.location.replace(url)', d * 1000);
    }