CHROME浏览器从33升级到35后,window.open()无法多次打开窗口

window.open() cannot open the window more than once in CHROME after upgraded from 33 to 35

本文关键字:开窗口 open window 33升 浏览器 CHROME      更新时间:2023-09-26

代码如下:

<modal:button type="print" onClick="
    if($('printMenu').selectedIndex == 0) { 
       printLarge('${printForm}', 'large')
    } 
    if($('printMenu').selectedIndex == 1){
       printSmall('${printForm}', 'small')
    }
    if($('printMenu').selectedIndex == 2){                                                     
       printEmail('${printForm}', 'email')
    };
    printWindow=window.open('../print/openLargeWindow.html','printWindow','width=1000,height=800');" defaultBehavior="true"/>    

的功能是从下拉菜单中选择一个选项,点击按钮,然后弹出一个窗口,其中的内容将被打印。

它在IE和FF中工作得很好。它在Chrome 33中也能完美地运行(在我升级之前)。因为我把chrome升级到35,弹出窗口只弹出一次——在你关闭弹出窗口后,再点击按钮,然后什么也没发生。

我尝试使用不同的url打开它,不工作。我检查了chrome中的弹出窗口拦截器,它是禁用的。

每次点击第二次之前,打开的那个已经被我关闭了。(没有重复的打开,但仍然不让你打开第二个)

在我把它改为"_blank"而不是"printwwindow"之后,它可以让你打开第二个,甚至第三个,但经过几次尝试。它又停止工作了

有没有人有经验或建议来解决或解决这个问题?

您必须使用不同的窗口名称。如果窗口printWindow已经存在,浏览器将使用打开的窗口,而不是打开另一个窗口。指定_blank总是打开一个新窗口。

(我想知道为什么这在IE和FF中工作。