【问题标题】:Open child window and redirect parent window打开子窗口并重定向父窗口
【发布时间】: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


【解决方案1】:

试试这个:

<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 移动到函数中并正确使用它,并告诉窗口更改到新位置。

【讨论】:

  • 嗯......这没用。新的(子)窗口按原样打开。但是............父窗口没有重定向到新位置。
  • 抱歉,应该是 document.location.href='/...';如果允许,我会编辑答案。
  • 谢谢 :) 这有帮助
【解决方案2】:

我的 javasrcipt 不太热,但这不起作用吗?

 <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>

【讨论】:

  • 谢谢罗希特。但是,您的代码给了我一个语法错误。这里不应该有括号和分号:'/My_Folder/PHP/file_2.php' ???
猜你喜欢
  • 1970-01-01
  • 2011-08-05
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-05
  • 2013-04-01
相关资源
最近更新 更多