嘿,我有一些代码重定向到我的主页有问题。我有一个注册页面,当我点击提交时,它会打开一个新窗口,欢迎您访问该页面。在这个新窗口中,它有一个链接转到主页,它可以工作。我想知道的是,我可以以某种方式创建一个关闭该窗口的链接,并使我正在注册的注册页面重定向到主页?希望这个问题有意义!
答案 0 :(得分:1)
有点混淆为什么你想以这种方式处理它。您可以在点击注册页面上的提交链接后将它们发送到主页吗?如果是这样,您可以使用document.location =“/”;
使用javascript执行此操作答案 1 :(得分:1)
您可以使用新窗口中的window.opener
访问其父母"窗口。我刚测试了这个,它起作用了。这就是我的所作所为:
<button id='open'> Open </button>
<script>
var btn = document.getElementById('open');
btn.onclick = function (evt) {
console.log('test');
window.open('window.html', '', 'menubar=no');
};
</script>
<button id='close'> Close </button>
<script>
var btn = document.getElementById('close');
btn.onclick = function (evt) {
window.opener.location = 'http://stackoverflow.com';
window.close();
};
</script>
注意:window.opener
可以被恶意使用,所以要小心。 See this article for details.
答案 2 :(得分:0)
您可以使用postMessage API在两个窗口之间发送消息。 https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
当您打开新窗口时,将当前窗口的引用作为postMessage请求的数据传递到注册窗口。当您单击按钮取消注册时,在执行window.close之前,您可以将另一个postMessage发送到之前包含消息或布尔值的窗口引用,以基本上指示用户已取消其注册。
收到消息事件后,原始窗口会执行重定向到主页