感谢您抽出宝贵时间来查看我的问题。
我有两个不同的window.open请求,具体取决于用户是否点击了移动按钮或网络摄像头按钮。
点击移动按钮时, mobcamWindow 将以特定(小)尺寸打开
单击网络摄像头按钮时, webcamWindow 将以不同(大)的尺寸打开
这些窗口打开正常并且尺寸正确,但是如果在(较小的) mobcamWindow 打开时单击网络摄像头按钮,我想要当前的 mobcamWindow 关闭,新的(较大的) webcamWindow 打开(尺寸正确),反之亦然。
目前,窗口未关闭,但网址将更改为正确的 mobcamWindow & webcamWindow ,但窗口将保持相同的大小。
我试过做window.resize但是没有用,window.close也不起作用。
我的代码如下。 (我有两个功能来处理每个 mobcamWindow &amp; webcamWindow ,每个都有一个IF语句来检查 mobcamWindow 或 webcamWindow < / strong>已打开,如果是,则关闭它。
var webcamWindow = null; // global variable
var mobcamWindow = null; // global variable
function openStreamPopupWebcam(elem) {
if(webcamWindow == null || webcamWindow.closed)
/* if the pointer to the window object in memory does not exist
or if such pointer exists but the window was closed */
{
if(mobcamWindow){
mobcamWindow.close();
}
/*if mobile window is open, close mobile window*/
webcamWindow = window.open(elem.href, "window", "width=470,height=320,resizable,status").focus();
/* then create it. The new window will be created and
will be brought on top of any other window. */
}
}
function openStreamPopupMobile(elem) {
if(mobcamWindow == null || mobcamWindow.closed)
/* if the pointer to the window object in memory does not exist
or if such pointer exists but the window was closed */
{
if(webcamWindow){
webcamWindow.close();
}
/*if mobile window is open, close mobile window*/
mobcamWindow = window.open(elem.href, "window", "width=445,height=666,resizable,status").focus();
/* then create it. The new window will be created and
will be brought on top of any other window. */
}
}
如果您需要更多信息或者发现我很难理解,请询问,我会尽力解释。
谢谢。
答案 0 :(得分:1)
当满足这些条件时,您必须将值重新初始化为“null”
var webcamWindow = null; // global variable
var mobcamWindow = null; // global variable
function openStreamPopupWebcam(elem){
if(webcamWindow == null || webcamWindow.closed){
if(mobcamWindow){
mobcamWindow.close();
mobcamWindow = null;
}
webcamWindow = window.open(elem.href, "window", "width=470,height=320,resizable,status").focus();
}
}
function openStreamPopupMobile(elem){
if(mobcamWindow == null || mobcamWindow.closed){
if(webcamWindow){
webcamWindow.close();
webcamWindow = null;
}
mobcamWindow = window.open(elem.href, "window", "width=445,height=666,resizable,status").focus();
}
}
答案 1 :(得分:0)
Teemu回答
为您的窗口指定不同的名称,现在两者都被命名为窗口。 - Teemu
谢谢。
还要感谢Adarsh Mohan指出应将值重新初始化为&#39; null&#39;关闭。