函数Window.focus在IE中不起作用(8,9,10,11)

时间:2015-01-12 08:54:31

标签: javascript internet-explorer

这是我的代码,这段代码用于打开新标签并专注于它。

  • 如果标签尚未打开,我将使用指定名称打开它。
  • 如果打开标签,我将使用window.focus();
  • 关注它

快速测试:http://jsfiddle.net/u2jd2oLw/1/

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中检查,发生了&#34; 访问被拒绝&#34;

我试图关闭选项:&#34;打开弹出窗口拦截器&#34;通过取消选中CheckBox。

你有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

由于安全问题,这将有效一次

$(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();
}

它无法运行两次,因为一旦页面加载它就不再是同一个原点。

我尝试使用iFrame,但Google现在也阻止