Javascript Window.open第二次或多次单击时未在IE中对焦

Javascript Window.open第二次或多次单击时未在IE中对焦,javascript,file,internet-explorer,Javascript,File,Internet Explorer,我正在使用window.open打开我的PDF文件。下面是我的代码 不同浏览器的反应: 在chrome中:第一次单击PDF图标时,在新窗口中打开PDF文件。我不会关闭打开的PDF。每次我再次单击相同的PDF图标时,它都会再次聚焦相同的文件 在firefox中:当我第一次单击时,新窗口会打开PDF文件(几乎与chrome相同),但在随后单击同一文件而不关闭现有PDF时,它会一次又一次打开同一文件并聚焦它 在IE中:这里是主要的问题。在第一次单击时,与其他浏览器一样,也会发生同样的情况,但随后单击时

我正在使用window.open打开我的PDF文件。下面是我的代码

不同浏览器的反应:

  • 在chrome中:第一次单击PDF图标时,在新窗口中打开PDF文件。我不会关闭打开的PDF。每次我再次单击相同的PDF图标时,它都会再次聚焦相同的文件
  • 在firefox中:当我第一次单击时,新窗口会打开PDF文件(几乎与chrome相同),但在随后单击同一文件而不关闭现有PDF时,它会一次又一次打开同一文件并聚焦它
  • 在IE中:这里是主要的问题。在第一次单击时,与其他浏览器一样,也会发生同样的情况,但随后单击时,打开的文件没有得到关注,并且什么也没有发生。 是否有任何方法可以让IE专注于在新窗口中打开的相同PDF文件? 还有什么方法可以让firefox停止一次又一次地打开同一个文件,只关注现有的Chrome浏览器
  • 代码示例:
  • 功能打开页面(url、名称、功能){
    var win=window.open(url,
    (name==null?'page':'test'),
    (features==null?'menubar=1,toolbar=1,scrollbars=1,width=1024,height=768,resizeable=1':features));
    win.focus();
    if(win==null){
    警报(“未打开”);
    }否则{
    document.isdesigning=false;
    控制台日志(“#2”);
    }
    }
    
    尝试了以下操作,但仍然无法在IE中工作。我得到的tge文档集中在第三次单击、第五次和第七次单击等。不确定为什么它只能在交替单击中工作

      function open_page(url, name, features) {
            alert("1"+win);
            if (win == null) {
                console.log("#1");
                win = open(url, (name == null ? 'page' : 'test'), (features == null ? 'menubar=1,toolbar=yes,scrollbars=yes,top=500,left=500,width=1024,height=768,resizable=yes' : features));
            }
            else if (isIE()) {
                console.log("#2");
                win.close();
                alert(win);
                win = open(url, (name == null ? 'page' : 'test'), (features == null ? 'menubar=1,toolbar=yes,scrollbars=yes, top=500,left=500,width=1024,height=768,resizable=yes' : features));
    
            }
            else {
                console.log("#3");
                window.location.href = url;
                win.focus();
            }
    

    这就是在每个导航器中处理
    window.open
    的方式,但是在调用
    win=window.open(url,(name==null?'page':'test'),(features==null?'menubar=1,toolbar=1,滚动条=1,宽度=1024,高度=768,可调整大小=1':features))之前,您可以这样做检查是否
    win==null?打开窗口:win.focus()
    记住var win应该在函数外声明。我尝试了以下方法,但在IE中它只在交替单击时有效。例如,第一次单击将在新窗口中打开PDF。第二次点击什么也没发生。第三次单击将再次打开一个新窗口。第四次什么也没发生。第五次再次聚焦第三次打开的窗口(第一次打开的窗口保持原样)。这种模式还在继续。这是fiddleHi中的代码。。我仍然对上述问题感到惊讶。问题是我无法在IE中使用win.close关闭窗口。我不知道为什么它会在交替单击中工作。例如,第二次单击表示什么都没有发生。但在第三次点击时,它再次聚焦于forst创建的窗口。它集中在第五次、第七次等等。。有人能帮忙吗