如果用户不在特定网页上或没有某个Cookie,我在下面包含的代码意味着重定向到新网址。 cookie功能与重定向功能完美配合。这是我的问题:窗口网址重定向,但原始网址未记录在我的浏览器历史记录中。
<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>
例如,如果我访问“http://example.com/page1”,则浏览器会重定向到“http://example.com/welcome”。但是,我需要访问的原始网址(“http://example.com/page1”)显示在我的浏览器历史记录中,以便我可以在其他功能中调用它。这是我用来调用历史记录的代码(在表单中):
<form action="javascript:window.location.reload(history.go(-1));" method="get" name="age_form" id="ageForm" />
我也试过这个替代方案来调用历史记录而且它没有帮助:
window.history.back();
我还尝试了以下操作,但未能成功保存浏览器历史记录中的原始网址:
window.location = "http://example.com/welcome";
window.location.href = "http://example.com/welcome";
window.location.assign("http://example.com/welcome");
最后,我包含了这个函数,因为另一个线程暗示它可能有所帮助,但它似乎没有做太多:
setTimeout(function(){
有什么想法吗? 在重定向之前,是否有访问原始网址以登录浏览器的历史记录?请帮助!
答案 0 :(得分:0)
在重定向之前设置当前URL的cookie效果很好。这是改变了的代码。请记住,为了设置cookie,你必须引用一个javascript cookie函数(在本例中我的名字叫做setCookie():
<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>
希望这有助于某人!