我有一个DotNetNuke site,今天有一位客户打电话告诉它并没有在IE 10上工作。具体来说,登录和注册链接不起作用,但它们在兼容模式下。我看了一下我们的测试Windows 8机器,发现它失败了因为__doPostBack
未定义。我一直在寻找最后6个小时的修复,我能找到的是显然IE浏览器文件中包含了IE10用户代理,我应该安装this hotfix并重新启动服务器。那没用。我没有注意到任何更改,即使我认为新的ie.browser文件应该匹配新的用户代理。
我可以采取哪些其他步骤来解决问题?注意:服务器在Windows Server 2003上运行带有Service Pack 1的.NET 3.5。该站点运行DotNetNuke 05.06.02。任何建议都将不胜感激。
答案 0 :(得分:9)
请参阅Scott Hanselman撰写的这篇文章:
答案 1 :(得分:4)
在我的制作网站上,我尝试了一些事情而且他们没有工作。
我安装了修补程序并重新启动 - 没有好的
我复制了更新的ie.browser文件 - 没有好的
我尝试修改default.browser,ie.browser和mozilla.browser文件,以便为所有内容启用javascript - 没有用。
我做的一件事最终使它工作(这应该适用于所有事情)在InitializePage
文件的Default.aspx.vb
函数中,我将这一行添加到子例程的开头
Page.ClientTarget = "uplevel"
应该(根据我的理解)将所有浏览器视为可以处理javascript和cookie以及我们需要的所有其他内容。我觉得这是一个非常安全的赌注。
答案 2 :(得分:3)
如果web.config中存在另一个配置,则会覆盖Scott Hanselman的建议修复:
<browserCaps>
ASP.NET浏览器功能嗅探器可以通过3种方式配置(相互覆盖):
Machine wide in <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers
Site only by using .browser files in App_Browsers folder
Site only by using <browserCaps> Element in web.config
在<browserCaps> <case "Mozilla .. MSIE ..>
下添加以下案例:
<case match="\d{2,}" with="${version}">
frames=true
tables=true
cookies=true
backgroundsounds=true
vbscript=true
javascript=true
javaapplets=true
activexcontrols=true
tagwriter=System.Web.UI.HtmlTextWriter
ecmascriptversion=3.0
msdomversion=${major}${minor}
w3cdomversion=1.0
css1=true
css2=true
xml=true
<filter with="${letters}" match="^b">
beta=true
</filter>
<filter with="${extra}" match="Crawler">
crawler=true
</filter>
</case>