这是我的代码,这段代码打开新选项卡并专注于它。
- 如果选项卡尚未打开,我将使用指定名称打开它。
- 如果选项卡打开,我将使用 window.focus() 专注于它;
快速测试:http://jsfiddle.net/u2jd2oLw/1/
Javascript Code
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);
}
}
网页代码
<button id="btnOpenTab">Open Tab</button>
实际上,我在IE11中检查,发生了"访问被拒绝"
我试图通过取消选中复选框来关闭选项:"打开弹出窗口阻止程序"。
你有什么建议吗?
谢谢!!
Windows中的安全功能:http://support.microsoft.com/kb/979954
以下是一些可以尝试的解决方法:
http://social.msdn.microsoft.com/Forums/en-US/iewebdevelopment/thread/a250c431-9f09-441c-9b78-af067233ed78
在 IE8 中为子窗口提供焦点
安全问题,这将工作一次
$(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,但谷歌现在也阻止了它