在Internet Explorer中,当我第二次单击该链接时,窗口已经打开,但它没有聚焦。它在Chrome和Firefox中运行良好。
使用以下代码:
function open_page(url, name, features) {
var win = open(url, (name == null ? 'page' : name), (features == null ? 'menubar=1,toolbar=1,scrollbars=1,width=1024,height=768,resizable=1' : features));
if (win == null) {
alert('Can not open');
} else {
document.isUnloading = false;
win.focus();
}
}
<input type="image" id="pdf" name="pdf" style="padding: 2px; background-color: white; border: 1px dotted white;" title="PDF" src="/images/buttons/pdf.png" alt="PDF" onclick="open_page('http://www.w3schools.com'); return false;" onmouseover="document.getElementById('pdf').style.border='1px solid #a0a0ff'; document.getElementById('pdf').style.backgroundColor='#f0f0ff';"
onmouseout="document.getElementById('pdf').style.border='1px dotted white'; document.getElementById('pdf').style.backgroundColor='white';">
答案 0 :(得分:0)
示例1 这个应该在同一个来源上工作,但可能不是
_clickLectre = <any>{};
示例2
这是一个更好的选择,添加
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();
}
}
}
指向您打开的页面,假设没有其他onload,如果已经有,请将<script>window.onload=function() { window.focus() }</script>
添加到该页面
如果您要打开的页面是PDF,请使用
window.focus()
答案 1 :(得分:0)
在弹出页面上添加:
<body onload="FocusWindow()">
将此函数添加到弹出窗口中引用的JavaScript文件中。
function FocusWindow() {
window.focus();
}
背景信息为何会发生这种情况: https://support.microsoft.com/en-us/kb/979954
基本上你不能从另一个窗口聚焦一个窗口,你只能从你想要聚焦的窗口聚焦,是的,你读得正确。
所以我的解决方法是通过让自己专注于onload来利用这个bug。