最初的问题是网站在IE10下不兼容,使用兼容性代码:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10">
让IE强制使用兼容模式,但是这种情况在有的电脑上没有管理员权限的时候是无效的,
即用IE打开了使用上面这段代码的页面后,按F12,
IE的模式还是IE模式,不是想要的IE10兼容模式。
在有管理员权限的电脑上,变成了IE10兼容模式,问题解决。
另外FormsAuthentication.SetAuthCookie无效的问题,在IE10兼容模式下OK,在IE10模式下无反应。
简单的解决方法是,在网站根目录,新增一个浏览器定义文件(browser definition file) 步骤如下: 1.添加一个"App_Browsers"文件夹 2.添加一个"*.browser"后缀的文件,如IE10.browser. 3.添加文件内容如下: <browsers> <browser refID="Default"> <capabilities><!-- To avoid wrong detections of e.g. IE10 --> <capability name="cookies" value="true" /> <capability name="ecmascriptversion" value="3.0" /> </capabilities> </browser> </browsers>
FormsAuthentication.SetAuthCookie无效的问题得到解决,页面是IE10 模式。
当然还可以参考MS的文章:
在 IIS 上实现 META 切换
Microsoft IIS 能够定义自定义 HTTP 响应标头以便所有页面自动以 EmulateIE7 模式呈现
http://msdn.microsoft.com/zh-cn/library/cc817572.aspx
MVC .NET4 IE10下FormsAuthentication.SetAuthCookie无效的问题,布布扣,bubuko.com
时间: 2024-10-29 10:46:38