Javascript 函数Window.focus不';在IE(8,9,10,11)中工作

Javascript 函数Window.focus不';在IE(8,9,10,11)中工作,javascript,internet-explorer,Javascript,Internet Explorer,这是我的代码,这是打开新标签并关注它的代码 如果选项卡尚未打开,我将使用指定名称打开它 如果选项卡打开,我将使用window.focus()对其进行聚焦 快速测试: Javascript代码 var tabs = []; $('#btnOpenTab').on('click', function(){ openTab('http://google.com.vn', 'GG'); }); function openTab(url, tabNm) { try {

这是我的代码,这是打开新标签并关注它的代码

  • 如果选项卡尚未打开,我将使用指定名称打开它
  • 如果选项卡打开,我将使用window.focus()对其进行聚焦
快速测试:

Javascript代码

var tabs = [];
$('#btnOpenTab').on('click', function(){
    openTab('http://google.com.vn', 'GG');
});


function openTab(url, tabNm) {
    try {
        if (tabs[tabNm]) {
            tabs[tabNm].focus();
        } else {
            var mTab = window.open(url, tabNm);
            tabs[tabNm] = mTab;
            tabs[tabNm].focus();
        }
    } catch(e) {
        alert(e.message);
    }
}
HTML代码

<button id="btnOpenTab">Open Tab</button>
打开选项卡
实际上,我在IE11中检查时发现“访问被拒绝”

我试图通过取消选中复选框来关闭选项:“打开弹出窗口阻止程序”

你有什么建议吗


谢谢

这是Windows中的一项安全功能:

以下是一些可以尝试的解决方法:


由于安全问题,这将只工作一次

$(function() {
  $('#btnOpenTab').on('click', function(){
    openTab('http://google.com.vn', 'GG');
  });
});

function openTab(url, tabNm) {
  var mTab = window.open("", tabNm);
  mTab.document.write('<body onload="window.focus(); location.replace(\''+url+'\')">Please wait...</body>');
  mTab.document.close();
}
$(函数(){
$('btnOpenTab')。在('click',function()上{
openTab('http://google.com.vn","GG",;
});
});
函数openTab(url,tabNm){
var mTab=window.open(“,tabNm);
mTab.document.write('请稍候…');
mTab.document.close();
}
它运行两次失败,因为一旦页面加载,它就不再是同一来源


我试过使用iFrame,但Google现在也阻止了这一点

@JackDuong我没有Windows机器,所以我帮不了什么忙,但我遇到的唯一明智的答案是,要想
focus()
工作,应该从目标窗口本身调用它,在这种情况下,您需要了解如何使用调用
window.focus()
谢谢您的回答,但这不是我想要的:(我知道,所以你是索尔。