Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 使用querystring查找特定url的打开/关闭弹出窗口_Javascript - Fatal编程技术网

Javascript 使用querystring查找特定url的打开/关闭弹出窗口

Javascript 使用querystring查找特定url的打开/关闭弹出窗口,javascript,Javascript,我使用Window.open()函数打开弹出窗口,我只是传递带有查询字符串名称Id的url 我必须检查作为querystring传递的特定ID的弹出窗口是否打开/关闭。如果没有打开或关闭,那么我将打开它,否则无需打开 前- 首先,我用下面的语句打开弹出窗口, open('Home.aspx?id=1') 然后5秒后, 我想打开两个Id=1和Id=2的弹出窗口, 此时,我需要检查id=1的home.aspx是否已打开,然后无需再打开一个id=1的弹出窗口,只需为id=2打开,因为id=2没有打开弹

我使用Window.open()函数打开弹出窗口,我只是传递带有查询字符串名称Id的url

我必须检查作为querystring传递的特定ID的弹出窗口是否打开/关闭。如果没有打开或关闭,那么我将打开它,否则无需打开

前- 首先,我用下面的语句打开弹出窗口, open('Home.aspx?id=1')

然后5秒后, 我想打开两个Id=1和Id=2的弹出窗口, 此时,我需要检查id=1的home.aspx是否已打开,然后无需再打开一个id=1的弹出窗口,只需为id=2打开,因为id=2没有打开弹出窗口

但需要确保两个弹出窗口不应为同一查询字符串打开

更新: 使用Raze建议的以下代码

window.open("Home.aspx?id=1", "MY_NAME_1"); 
window.open("Home.aspx?id=2", "MY_NAME_2"); 
它不会打开新的弹出窗口,但会刷新旧的弹出窗口。我不想刷新弹出窗口。
如果您有任何想法,请与我们分享。

有两种方法可以实现这一点: 1) 对于windows的名称:Ie,根据id,您将有一个唯一的名称。例如,对于id=1,您将给出

 window.open("Home.aspx?id=1", "MY_NAME_1");
5秒后,你就会跑了

 window.open("Home.aspx?id=1", "MY_NAME_1");
 window.open("Home.aspx?id=2", "MY_NAME_2");
在这里,如果id=1已经打开,它现在将打开一个新窗口,但刷新其中的内容

2) 通过这样处理:

var wins[];
wins[1] = window.open("Home.aspx?id=1");
5秒后

if(wins[1] && wins[1].closed)
    window.open("Home.aspx?id=1");
实际上,您可以第一次使用5秒后代码本身。我更喜欢第二种方法