self.focus()& window.focus()适用于Safari但不适用于IE

时间:2012-05-16 19:46:31

标签: javascript window.open

我有这个代码做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);                      
    }

1 个答案:

答案 0 :(得分:0)

当我的页面每5分钟自动刷新一次(因此,在主体加载时)时,我必须执行此操作,以确保窗口位于顶部。以下对我有用(仅使用Internet Explorer测试):

top.document.body.focus();