ASP.NET计时器不能在Metro Windows 8 IE 10中工作

时间:2013-09-30 04:39:15

标签: asp.net internet-explorer windows-8 timer

此问题与Windows 8中IE10浏览器的Metro Mode有关。

我使用ASP.NET 4.5创建了一个网站,并使用ASP.NET中提供的Timer控件在其中实现了一些计时器。现在,即使有人打开了一个新选项卡并且正在使用该选项卡或者已经打开一个新应用程序并正在处理该新应用程序,这些计时器应该可以工作。

例如: - 假设有人打开我的网站,计时器现在正在滴答作响,现在如果我打开一个新标签,或者如果我打开一个新的程序,如MS Word,记事本或任何其他应用程序,那么计时器应继续在后台工作。

现在这在IE 10中运行良好,但仅限于桌面模式,但如果我在IE10浏览器的Metro模式下打开网站,然后如果我打开新标签或切换到其他应用程序,则定时器暂停即即可当我回到打开网站的标签页时,停止勾选并仅恢复他们的Ticking。

所以有人可以告诉我如何在IE10浏览器的Metro模式下在后台勾选ASP.NET计时器。

另外我在某处读到IE10 Metro Mode不支持IE10桌面模式中的大部分功能,并且IE10 Metro Mode是针对触摸屏制作的,这是问题所在吗?

我也尝试使用Google Chrome浏览器,我在桌面模式下对网站进行了测试,然后再次在Windows 8模式下对网站进行了测试,以及ASP.NET计时器在我工作时的工作方式在新标签页或其他一些应用程序上。

所以这个问题只存在于IE10 Metro模式中。

我使用的是普通的经典ASP.NET 4.5,而不是MVC或Razor或任何其他框架。

或者,如果没有解决方案,那么有没有办法自动将用户从IE10 Metro模式切换到IE10桌面模式?

1 个答案:

答案 0 :(得分:1)

要自动将用户从IE10 Metro模式切换到IE10桌面模式,您可以使用此文档:

http://msdn.microsoft.com/en-us/library/ie/jj193557(v=vs.85).aspx

我明白只需要把这个元:

<meta http-equiv="X-UA-Compatible" content="requiresActiveX=true"/>