我有一个 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)是迄今为止最好的解决方案,因为至少它应该打开新(子)窗口。但是,它仍然没有重定向父窗口:(((
最佳答案
试试这个:
<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.href='/My_Folder/PHP/file_2.php'}, 1000 );
}
</script>
将 settimeout 移至函数中并正确使用它,并告诉窗口更改到新位置。
关于javascript - 打开子窗口并重定向父窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29995298/