Javascript 如何";刷新“;IE中没有偷窗焦点的窗口?

Javascript 如何";刷新“;IE中没有偷窗焦点的窗口?,javascript,ajax,internet-explorer,Javascript,Ajax,Internet Explorer,我有一个页面,在这个页面上,我必须周期性地更改URL,以便在后台使用JavaScript合并一些GET参数,以便页面使用新的GET参数刷新 举个例子,我会定期这样做 window.location.href = window.location.host + '?' + ss; 或 其中“ss”是新的查询字符串,例如:“foo=3&bar=1”。这些“刷新”将在窗口位于后台时发生 我的问题是,在IE浏览器上,刷新会导致窗口窃取焦点。是否有任何方法可以避免或绕过此问题?是否需要刷新整个页面?我认为

我有一个页面,在这个页面上,我必须周期性地更改URL,以便在后台使用JavaScript合并一些GET参数,以便页面使用新的GET参数刷新

举个例子,我会定期这样做

window.location.href = window.location.host + '?' + ss;

其中“ss”是新的查询字符串,例如:“foo=3&bar=1”。这些“刷新”将在窗口位于后台时发生


我的问题是,在IE浏览器上,刷新会导致窗口窃取焦点。是否有任何方法可以避免或绕过此问题?

是否需要刷新整个页面?我认为如果你对内容进行了框架设计,它就不会窃取焦点。我从来没有故意在背景窗口中尝试过,但我发现IE这样做很奇怪。哪个版本正在这样做,因为我想复制它。

也许使用AJAX调用来获取新数据是值得的,而不是重新加载帧?

我肯定会使用AJAX。 以这种方式刷新内容是更好的用户体验,特别是由于其异步方式。
此外,如果您的站点旨在获得良好的SERP结果,则不在URL中使用参数始终是一种良好的做法。

哪种版本的IE?您可以更改window.location.hash并使用AJAX更新页面吗?我实际上需要使用新的GET参数重新加载页面。我在IE6和7上看到了这种行为,但还没有测试8。我在IE6和7上看到了这种行为,但还没有测试8。只需一行在onload后调用的JS即可轻松复制。类似于以下内容:setTimeout(function(){window.location.replace(')},5000);当窗口在IE.Wild上调用“replace”时,它将窃取焦点。显然,在那里的“google.com”前面应该加上http…(我的评论已被SO删除)
window.location.search = '?' + ss;