Javascript Window.open第二次或多次单击时未在IE中对焦
我正在使用window.open打开我的PDF文件。下面是我的代码 不同浏览器的反应: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中:这里是主要的问题。在第一次单击时,与其他浏览器一样,也会发生同样的情况,但随后单击时
功能打开页面(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创建的窗口。它集中在第五次、第七次等等。。有人能帮忙吗