【发布时间】:2015-05-01 21:19:08
【问题描述】:
我有一个 JavaScript 在单击按钮时会打开一个新窗口。它工作正常。但是,一旦打开新窗口,我想重新定向父窗口(即当前页面)。
这是我的脚本:
<script type="text/javascript">
function OpenWindow() {
window.open('/My_Folder/file.php',
'newwindow',
config='height=670,width=1400,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no');
}
</script>
还有,按钮:
<input type="button" value="Submit" onclick="OpenWindow()">
所以,为了能够重定向父窗口,在新窗口弹出后,我在我的 JS 函数中添加了一个简单的行:
<script type="text/javascript">
function OpenWindow() {
window.open('/My_Folder/new_file.php', 'newwindow',
config='height=670,width=1400,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,directories=no, status=no');
}
setTimeout(1000, '/My_Folder/PHP/file_2.php');
</script>
意思是,在弹出新窗口后,父窗口应该在 1 秒后重新定向。
但是,由于某种原因,它不起作用。
在线搜索只为我提供了涉及相反情况的解决方案:在关闭子窗口后重新定向父窗口。
我想在打开一个新的(子)窗口后重定向父窗口。
更新
到目前为止,我已经尝试了这 3 种方法:
(a) <script type="text/javascript">
function OpenWindow() {
window.open ('/My_Folder/new_file.php', 'newwindow',
config='height=670, width=1400,
toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no,
directories=no, status=no');
window.top.location.href = '/My_Folder/PHP/file_2.php'
}
</script>
(b) <script type="text/javascript">
function OpenWindow() { window.open('/My_Folder/file.php','newwindow',
config='height=670,width=1400,toolbar=no,menubar=no,scrollbars=no,
resizable=no, location=no,directories=no,status=no');
settimeout( function(){document.location='/My_Folder/PHP/file_2.php'}, 1000
);
}
</script>
(c) <script>
function OpenWindow() {
window.open ('/My_Folder/new_file.php', 'newwindow', 'height=670,
width=1400, toolbar=no, menubar=no, scrollbars=no, resizable=no,
location=no, directories=no, status=no');
window.location = '/My_Folder/PHP/file_2.php';
}
</script>
所有这些都没有工作。
但 (b) 是目前为止最好的解决方案,因为至少 它会打开新(子)窗口,它应该如此。但是,它仍然不会重定向父窗口:(((
【问题讨论】:
-
我不太懂 JavaScript,但
setTimeout行不应该在函数定义内部而不是在它之后吗?
标签: javascript redirect parent-child new-window