强制ASP.NET为所有用户代理生成JavaScript
|
我最近在ASP.NET Web应用程序中注意到,如果我将用户代理设置为空字符串(使用FireFox插件来欺骗用户代理),那么ASP.NET将不会生成执行回发所需的javascript.更具体地说,如果您尝试从javascript调用__doPostBack(a,b)函数,则会收到错误消息,指出函数未定义. 我知道每个浏览器都有一个用户代理,所以这通常不会出现,但问题的实质仍然存在:如果你依赖,有些情况下无法识别或格式错误的用户代理可能会导致您的Web应用程序无法使用回发. 这类似于这个问题:ASP.net not generating javascript for some User Agents,但是如果我正确地阅读它,看起来你会逐个修复每个无法识别的用户代理并将其掩盖为另一个浏览器.我对单个用户代理的关注较少,而且由于某些用户代理无法使用我的应用程序而我不会知道它,因为错误发生在javascript而不是服务器上. 有谁知道我可以强制ASP.NET始终生成所需的JavaScript的方式? 解决方法如果您为用户代理设置为空,或者您使用未知的用户代理字符串,则asp.net从浏览器目录中读取Default.browser文件,您可以在那里定义如何对此案例采取行动.你需要更改的行和在这种情况下使用javascript是那些: <capability name="jscriptversion" value="5.6" />
<capability name="javascript" value="true" />
<capability name="javascriptversion" value="1.5" />
在默认情况下,javascript行为false.我想在这里发表评论,我不确定你是否真的需要改变它,如果有人欺骗用户代理,就让它去做.如果他喜欢您的网站并且需要使用它,那么最好让您知道如何处理他使用的浏览器.另一方面,如果可能的话,你必须小心,你的网站即使没有javascript工作,至少对你做的大部分行动. 最好避免使用链接按钮(使用_doPostBack)并使用回拨按钮.我知道GridView和其他人也使用_doPostBack进行分页……好吧,但是更好的一个好网站甚至可以使用javascript工作. 一些类似的问题: 和这个博客:Bug and Fix: ASP.NET fails to detect IE10 causing _doPostBack is undefined JavaScript error or maintain FF5 scrollbar position (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- .net – 单个配置密钥的多个值
- asp.net-web-api – 将JSON数组从Javascript传递到Web API
- entity-framework – 在Junction表上使用EF Core ThenInclu
- asp.net-mvc – 如何使基于列表的编辑器模板正确绑定POST操
- asp.net-mvc – 输出字符串里的字符串文字引用
- 使用ASP.NET MVC4 jquery/javascript捆绑
- 从经典ASP中的函数返回记录集
- asp.net – 如何使用CSS垂直向下移动div
- asp.net – HttpMessageHandler与DelegatingHandler
- asp.net – “共享主机中的”LOG_BACKUP“的数据库的事务日
- asp.net – 从互联网上打开excel文件会打开一个空
- asp.net-mvc – asp.net mvc – [HttpPost/HttpG
- asp.net – Visual Studio – 为什么.ASPX文件比
- 使用实体框架在ASP.Net中创建报表
- 嵌套字典到嵌套转发器asp.net c#
- asp.net – 在剃刀中等同于End / Response.End?
- asp.net菜单控件在safari中无法正确呈现
- 文件上传 – 是否可以在上传文件的asp.net webap
- asp.net-mvc – HttpResponseMessage内容不会显示
- asp.net-mvc – Autofac,MVC(带ActionFilters),W
