Javascript URL重定向,但可以';无法将其保存在浏览器历史记录中。

Javascript URL重定向,但可以';无法将其保存在浏览器历史记录中。,javascript,jquery,browser-history,window.location,Javascript,Jquery,Browser History,Window.location,如果用户不在特定页面上或没有特定cookie,我在下面包含的代码旨在重定向到新url。cookie函数与重定向功能一样工作正常。这是我的问题:窗口url重定向,但原始url未记录在我的浏览器历史记录中 <script type="text/javascript"> $(document).ready(function() { if (getCookie('legal_age') == "yes" || window.location =="http://exa

如果用户不在特定页面上或没有特定cookie,我在下面包含的代码旨在重定向到新url。cookie函数与重定向功能一样工作正常。这是我的问题:窗口url重定向,但原始url未记录在我的浏览器历史记录中

<script type="text/javascript">
    $(document).ready(function() {
        if (getCookie('legal_age') == "yes" || window.location =="http://example.com/home") {//user is legal age!
        } else {
            setTimeout(function() {
                window.open('http://example.com/welcome','_self','', false);
            },0)
        }
    });
</script>
我还尝试了以下方法,但未能成功地将原始url保存到浏览器历史记录中:

window.location = "http://example.com/welcome";
window.location.href = "http://example.com/welcome";
window.location.assign("http://example.com/welcome");
最后,我加入了这个函数,因为另一个线程建议它可能会有所帮助,但它似乎没有起到多大作用:

setTimeout(function(){
有什么想法吗?
在重定向之前,是否需要访问原始url以登录我的浏览器历史记录?救命啊

在重定向之前设置当前URL的cookie效果良好。这是经过修改的代码。请记住,为了设置cookie,必须引用javascript cookie函数(在本例中,我的函数称为setCookie():


$(文档).ready(函数(){
如果(getCookie('legal_age')=“是”| | window.location=”http://example.com/home“”{//用户已达到法定年龄!
}否则{
setCookie('originalURL',window.location);
var urlCheck=getCookie('originalURL');
打开窗户http://example.com/welcome","自我","虚假",;
}
});

希望这对某人有所帮助!

这可能会有所帮助:@ahren我看到了那个线程,但解决方法是使用
setTimeout(function()){
这似乎并没有解决我的问题。@MrOBrian这是对我的问题和我尝试过的事情的一个更好的解释。有什么想法吗?我真的被这个问题难住了…奇怪的是,有时原始URL确实会显示在我浏览器的历史栏中,但当我调用
window.history.back()时;
或类似的东西,它总是在输入原始URL之前重定向到我所在的页面(即前两页)。我相信这是因为
窗口
知道它已被重定向,通过使用
.back()
它会知道它可能会陷入无限的“重定向”循环中。
window.location = "http://example.com/welcome";
window.location.href = "http://example.com/welcome";
window.location.assign("http://example.com/welcome");
setTimeout(function(){
<script type="text/javascript">
    $(document).ready(function(){
       if (getCookie('legal_age') == "yes" || window.location =="http://example.com/home") {//user is legal age!
       } else {
           setCookie('originalURL', window.location);
           var urlCheck = getCookie('originalURL');
           window.open('http://example.com/welcome','_self','', false);
       }
    });
</script>