我有这段代码来执行window.focus();
或self.focus();
以停留在当前窗口上以在转到新打开的窗口之前显示消息。 这在 Safari 上工作正常。 浏览器在转到新窗口之前在原始窗口上暂停指定的时间。 在Internet Explorer上,浏览器完全忽略self.focus();
调用,对window.focus();
执行相同的操作。 IE中是否有其他方法可以停留或专注于当前窗口。
if ( show_message == true ) {
var message_page = "livemass_message.php?message_id="+message_id;
message_window = window.open (message_page,'_blank','width=600,height=200,top=200,left=300,alwaysRaised');
self.focus();
setTimeout(function() { external_window.focus(); message_window.focus(); }, 3500);
setTimeout(function() { message_window.close(); }, 60000);
}
else {
self.focus();
setTimeout(function() { external_window.focus(); }, 3500);
}
当我的页面每 5 分钟自动刷新一次(因此,在正文加载中)时,我必须这样做,以确保窗口位于顶部。以下内容对我有用(仅使用Internet Explorer测试):
top.document.body.focus();