如何解决Cookie并重定向
| 我可以,通过代码(javascript)自动导航到站点,并让我的隐藏凭据毫无问题地进入我的行列(并获得cookie) 但是,在下一行代码中,当我尝试使用(window.open)重定向时,它无法识别出我已经拥有cookie,然后提示我输入凭据。有任何想法吗?...
<form name=\"MyForm\" action=\"#\" method=\"post\">
<input type=\"hidden\" name=\"blah\" value=\"blah\" />
<input type=\"hidden\" name=\"blah\" value=\"blah\" />
</form>
</div>
解决方法
假设我们有对每个窗口的引用,我们可以使用JavaScript在浏览器窗口之间进行通信。创建新窗口时,JavaScript方法window.open()会返回对新窗口的引用。子窗口也具有对通过window.opener窗口对象创建的父窗口的引用。这些引用允许两个窗口相互通信并相互操纵。
为了演示窗口与cookie之间的通信如何工作,假设我们要打开一个窗口,然后在几秒钟后关闭它。
查看原图?
1. var win = window.open(\'child.html\');
2. setTimeout(function() { win.close(); },5000);
var win = window.open(\'child.html\');
setTimeout(function() { win.close(); },5000);
该代码将打开一个子窗口,并在5秒钟后使用对子窗口的引用和方法close()将其关闭。但是,如果由于某种原因而没有引用,则将无法调用close方法。因此,让我们看看如何使用cookie来完成它:
查看原图?
1. window.open(\'child.html\');
2. setTimeout(function() { setCookie(\'child\',\'close\'); },5000);
window.open(\'child.html\');
setTimeout(function() { setCookie(\'child\',5000);
在这里,我们打开一个窗口,但不保存参考。然后在5秒钟后,将\'close \'写入名为\'child \'的cookie(使用伪setCookie()函数)。这本身不会做任何事情,但是如果子窗口期望使用cookie,则当它读为''close \'时,它可能会自行关闭。假设以下JS位于child.html中。
查看原图?
1. // child.html
2. setInterval(function() { getCookie(\'child\') == \'close\' ? this.close() : \'\'; },500);
// child.html
setInterval(function() { getCookie(\'child\') == \'close\' ? this.close() : \'\'; },500);
这将每半秒钟检查一次cookie,如果cookie读为''close \',则关闭窗口。
使用此方法,我们可以将任何命令发送到任何打开的窗口,并使它们执行该命令而无需引用该窗口。
,您的Cookie对在哪个子域中创建敏感-例如:如果已在domainname.com中创建了Cookie,则将其重定向到www.domianname.com,将无法在其中工作。
换句话说,对于重定向,请始终使用相对网址。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。