Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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弹出问题_Javascript_Session - Fatal编程技术网

从不同选项卡打开时出现Javascript弹出问题

从不同选项卡打开时出现Javascript弹出问题,javascript,session,Javascript,Session,我已经在Internet explorer选项卡上打开了我的应用程序,比如说“TAB1”,点击“TAB1”中的“button1”按钮,就会打开一个弹出窗口,比如说“pop-UP1”,在“pop-UP1”屏幕上,如果我点击一个按钮,它会在“TAB1”屏幕(父屏幕1)中添加一些元素 现在我在同一IE浏览器窗口的另一个选项卡中打开同一个应用程序,说“TAB2”,然后单击“button1”,在同一浏览器窗口中打开弹出窗口 “POP-UP1”(因为window.open()函数代码与相同的弹出名称相同)。

我已经在Internet explorer选项卡上打开了我的应用程序,比如说“TAB1”,点击“TAB1”中的“button1”按钮,就会打开一个弹出窗口,比如说“pop-UP1”,在“pop-UP1”屏幕上,如果我点击一个按钮,它会在“TAB1”屏幕(父屏幕1)中添加一些元素

现在我在同一IE浏览器窗口的另一个选项卡中打开同一个应用程序,说“TAB2”,然后单击“button1”,在同一浏览器窗口中打开弹出窗口 “POP-UP1”(因为window.open()函数代码与相同的弹出名称相同)。现在,当我尝试在“TAB2”(父屏幕2)中添加一些元素时,它没有添加到“TAB2”,而是在“TAB1”屏幕中添加元素

如何编写javascript代码以在正确的父屏幕中添加启动弹出窗口的元素。我希望相同的弹出窗口适用于所有打开的选项卡,而不是从不同的选项卡打开许多弹出窗口


请帮帮我

我想是因为弹出窗口的名称相同: 弹出窗口的parent.opener是第一个选项卡。。。因此,它将始终引用它

我所能想到的就是有一个不同的弹出名称 对于每个选项卡,都会打开站点

这样,您将有2个(或更多)弹出窗口,每个弹出窗口都指向自己的parent.oopener

试试这个:

var myTime=new Date().getTime();
var popupName="mypopup_"+myTime;
var myPopup=null;
function popMypopup(URL){
    myPopup=window.open(URL,popupName,"height=50,width=50");
    myPopup.focus();
}
要弹出窗口,请使用


您可以尝试查看弹出窗口的父打开器是否指向当前窗口。。。如果它不关闭并重新打开它

大概是这样的:


PS:仅在IE上测试。。。但我相信它应该适用于所有浏览器。

如果能看到一些代码,比如打开弹出窗口的功能,那就太好了。。。。(通常“parent.opener”应该足够了…)Window.open(URL,'mypopup','height=50,width=50')即使我使用parent.opener,它指的是TAB1屏幕,而不是TAB2Hi federico…关于信息,我已经建议了很多…但我们需要在单个选项卡中执行此操作。这就是为什么我在stackoverflow中发布…希望能为单个窗口找到解决方案…比如在同一窗口上打开新的弹出窗口之前重置旧弹出窗口的所有参数。。。。
popMypopup('your/url/here.html')
var myPopup=null;
function popMypopup(URL){
        myPopup=window.open(URL,"mypopup","height=50,width=50");
        myPopup.focus();
        if(myPopup.parent.opener!=window){
            myPopup.close();
            popMypopup(URL);
        }
    }