[英]__doPostBack is undefined on DotNetNuke website for IE 10
我有一个DotNetNuke 站点 ,今天有一个客户打电话说它不能在IE 10上工作。具体来说,登录和注册链接不起作用,但它们在兼容模式下。 我看了一下我们的测试Windows 8机器,发现它失败了因为__doPostBack
未定义。 我一直在寻找最近6个小时的修复,我能找到的是显然IE浏览器文件中包含IE10用户代理,我应该安装此修补程序并重新启动服务器。 那没用。 我没有注意到任何更改,即使我认为新的ie.browser文件应该与新的用户代理匹配。
我可以采取哪些其他措施来解决问题? 注意:服务器在Windows Server 2003上运行带有Service Pack 1的.NET 3.5。该站点运行DotNetNuke 05.06.02。 任何建议将不胜感激。
请参阅Scott Hanselman的这篇文章:
“错误和修复:ASP.NET无法检测IE10导致_doPostBack未定义JavaScript错误或维护FF5滚动条位置”
在我的生产网站上,我尝试了一些东西而且它们没有用。
我安装了修补程序并重新启动 - 没有用
我复制了更新的ie.browser文件 - 没有好处
我尝试修改default.browser,ie.browser和mozilla.browser文件,以便为所有内容启用javascript - 没有用。
有一件事,我最终使它工作(这应该适用于一切)是在Default.aspx.vb
文件的InitializePage
函数中,我将此行添加到子例程的开头
Page.ClientTarget = "uplevel"
这应该(根据我的理解)对待所有浏览器,好像他们可以处理javascript和cookie以及我们需要的所有其他东西。 我觉得这是一个非常安全的赌注。
如果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
对于IE10,在<browserCaps> <case "Mozilla .. MSIE ..>
下添加以下案例<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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.