Jas*_*ley 7 asp.net webforms asp.net-ajax
我有一个使用ASP.NET AJAX和AJAX控件工具包的ASP.NET应用程序.该应用程序在PC上的所有最新浏览器上运行良好.它也适用于我的iPad,至少在第一次访问应用程序时.我发现如果我关闭iPad并稍后返回页面(通过书签或类似文件),该网站就会被破坏.我已经缩小了ASP.NET/ASP.NET AJAX问题/ bug /限制的失败,我正在寻求一些帮助来推进.
使用Fiddler作为iPad的代理服务器,我在重新打开页面时发现了以下问题.
不知何故,似乎框架决定它不需要这些脚本并且不会发出它们.鉴于所有脚本都是相互关联的,必然有一个共同的原因.这可能与不包含*.skin属性的原因有关.有任何想法吗?我会想到浏览器功能,但这只发生在后续访问网站,而不是第一次.
编辑:绝对看起来像浏览器功能问题.
请求有效:用户代理:Mozilla/5.0(iPad; U; CPU OS 4_3_3,如Mac OS X; en-us)AppleWebKit/533.17.9(KHTML,类似Gecko)版本/ 5.0.2
请求不:User-Agent:Mozilla/5.0(iPad; U; CPU OS 4_3_3,如Mac OS X; en-us)AppleWebKit/533.17.9(KHTML,如Gecko)Mobile/8J2
将尝试在App_Browsers中创建自定义文件并使用额外信息进行回发.
根本问题确实是当应用程序以全屏模式加载时, ASP.NET将iPad识别为通用的下层"Mozilla"而不是Safari .它认为不支持JavaScript等.
解决方案是将以下内容添加到所有ASP.NET页面中(通过将其添加到所有ASP.NET页面派生自的基页).
protected void Page_PreInit(object sender, EventArgs e)
{
if (Request.UserAgent != null && Request.UserAgent.IndexOf("AppleWebKit", StringComparison.CurrentCultureIgnoreCase) > -1)
{
this.ClientTarget = "uplevel";
}
}
Run Code Online (Sandbox Code Playgroud)
(我尝试创建一个*.browser文件,但失败了,因为它似乎没有出现我可以从我自己的文件中引用框架的*.browser文件.)
| 归档时间: |
|
| 查看次数: |
2175 次 |
| 最近记录: |