2012-01-18 82 views
3

我使用Javascript代码在.NET 4.0的Web应用程序为IE8:JavaScript弹出浏览器选项卡将不会获得焦点

ClientScript.RegisterStartupScript(this.Page.GetType(), "popupOpener", "var popup=window.open('Report.aspx');popup.focus();", true); 

这将打开一个新的浏览器选项卡中的.aspx页。

但是,它并没有给出选项卡的焦点,我非常希望这样做。有谁知道如何做到这一点?

+0

你见过这样的:http://stackoverflow.com/questions/726761/javascript-open-in-a -new-window-not-tab? – xtrem 2012-01-18 23:06:45

+0

@Moussa:这个问题似乎涉及新文档是在新标签中打开还是作为新窗口打开。除此之外,只要JS有一个窗口处理程序,它应该仍然能够控制焦点(除其他外)。 – buley 2012-01-18 23:09:00

+0

按钮创建/格式化报告文档,然后将其存储在会话变量中。然后这个javascript打开新的aspx窗口,报告文档被加载到查看器中。 – Ted 2012-01-18 23:24:41

回答

0

并非所有的浏览器都支持focus,我相信there are some bugs即使是那些做。

尝试在将焦点给予焦点之前模糊窗口。这是奇怪的,但过去一直在为人们工作。

一般:

popup_handle.blur(); 
popup_handle.focus(); 

至于适用于您的代码:

ClientScript.RegisterStartupScript(this.Page.GetType(), "popupOpener", "var popup=window.open('Report.aspx');popup.blur();popup.focus();", true); 
+0

呃......同样的行为。新选项卡打开但没有获得重点。 – Ted 2012-01-18 23:18:51

+0

是否有可能实际上没有窗口处理程序。 console.log在你登录时说什么? – buley 2012-01-18 23:20:20

+0

对不起,我不熟悉那个功能... – Ted 2012-01-18 23:22:52

相关问题