Javascript Internet资源管理器窗口。首次单击后打开不对焦

Javascript Internet资源管理器窗口。首次单击后打开不对焦,javascript,html,internet-explorer,browser,frontend,Javascript,Html,Internet Explorer,Browser,Frontend,在Internet Explorer中,当我第二次单击链接时,窗口已经打开,但没有聚焦。它在Chrome和Firefox中运行良好。 使用以下代码: 功能打开页面(url、名称、功能){ var win=open(url,(name==null?'page':name),(features==null?'menubar=1,toolbar=1,scrollbars=1,width=1024,height=768,resizeable=1':features)); if(win==null){

在Internet Explorer中,当我第二次单击链接时,窗口已经打开,但没有聚焦。它在Chrome和Firefox中运行良好。 使用以下代码:

功能打开页面(url、名称、功能){
var win=open(url,(name==null?'page':name),(features==null?'menubar=1,toolbar=1,scrollbars=1,width=1024,height=768,resizeable=1':features));
if(win==null){
警报(“无法打开”);
}否则{
document.isdesigning=false;
win.focus();
}
}

示例1这应该适用于同一来源,但可能不适用

var win;
function open_page(url, name, features) {
  name = name  || 'page';
  if (win && !win.closed) window.open(url,name).focus();
  else {
    win = open(url,name, (features == null ? 'menubar,toolbar,scrollbars,width=1024,height=768,resizable' : features));
    if (win == null) {
alert('Can not open.');
    } else {
      document.isUnloading = false;
      win.focus();
    }
  }
}
示例2

这是一个更好的选择,补充道

<script>window.onload=function() { window.focus() }</script>

在弹出页面上添加:

<body onload="FocusWindow()">
发生这种情况的背景信息:

基本上你不能从不同的窗口对焦,你只能从你想对焦的窗口对焦,是的,你读对了


因此,我的解决方法利用了这个bug,将其焦点放在加载上。

我不确定在何处添加window.onload,但在“新建”选项卡中打开第一页,然后在第二次单击时,它会在同一点击中打开。我不知道你在告诉我什么。我想你的问题是,如果标签或弹出窗口是打开的,它将不会在第二次单击打开页面时聚焦-这里有两种解决同一问题的方法似乎每次我单击一个标签时都会打开新标签,这样做我将不会有…if(win&!win.closed)window.open(url,name).focus();else{win=open(url,(name==null?'page':name),(features==null?'menubar=1,toolbar=1,scrollbars=1,width=1024,height=768,resizeable=1':features));您删除了名称和使用测试。我正在尝试查看需要什么。当我遇到此问题时,我相信这是唯一可以让它工作的方法。内联函数引用另一个文件中的JS。这是在多次尝试后完成的。也许您的也可以工作,但我知道我的可以。JS需要是一个单独的文件,我知道这听起来很愚蠢,但它是IE w你不是唯一一个问这个问题的人,这是我几年前回答的。
<body onload="FocusWindow()">
function FocusWindow() {
window.focus();
}