Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要关闭打开的弹出窗口并导航到URL_Javascript - Fatal编程技术网

Javascript 需要关闭打开的弹出窗口并导航到URL

Javascript 需要关闭打开的弹出窗口并导航到URL,javascript,Javascript,我不熟悉脚本编写,我迷路了 我有一个页面,通过此链接在两个位置调用弹出窗口: Click <a href="" onclick="window.open('poptest.php','chat_popup','toolbar=0,menubar=0,scrollbars=1,width=400,height=400'); return false;">here</a> for the pop-up Chat window only. 仅单击弹出式聊天窗口。 页面上

我不熟悉脚本编写,我迷路了

我有一个页面,通过此链接在两个位置调用弹出窗口:

Click <a href=""


onclick="window.open('poptest.php','chat_popup','toolbar=0,menubar=0,scrollbars=1,width=400,height=400'); return false;">here</a> for the pop-up Chat window only.
仅单击弹出式聊天窗口。
页面上还有指向此window.location.href命令的链接:

<button onclick="goto()">Back to the Intro Page</button>
<script>

    function goto() {
        window.location.href="http://www.streamcasters.com/temchat/sidebyside.html";
    }
    </script>
返回介绍页面
函数goto(){
window.location.href=”http://www.streamcasters.com/temchat/sidebyside.html";
}
用户在使用window.location.href命令之前没有关闭弹出窗口。是否有一个双重命令,当用户单击位置脚本时,它也会关闭特定的onclick=window.open选项卡(当用户转到格式不同的页面时,弹出窗口可能会保持打开状态)


谢谢

您需要将打开的窗口存储在一个变量中,并在时机成熟时使用该变量关闭窗口

  • 创建一个全局变量,例如
    弹出窗口
    。通常,全局变量是设计不佳的标志,但在这种情况下,您需要从多个位置访问同一变量
  • 不要直接进入
    窗口。打开
    ,而是利用方法包含返回结果这一事实。所以,
    popoup=window.open(…)
  • 使用
    beforeunload
    事件关闭窗口
大概是这样的:

var popup;
window.onbeforeunload = function() {
    if(popup) popup.close();
};