【发布时间】:2011-04-15 18:54:33
【问题描述】:
我们有一个使用 ASP.NET Ajax 的 ASP.NET Web 应用程序。我们从 iPad 上的 Safari 中打开它。它工作正常。
我们将其作为单独的图标保存到主屏幕。我们添加了元标记,使其以全屏方式加载,没有 Safari 的导航栏。它工作正常。
稍后,我们重新打开它并发现它已损坏。这是呈现的 HTML 的一部分,它显示了什么不起作用。
<a id="ctl00_Header1_btnHome" class="Button" href="javascript:__doPostBack('ctl00$Header1$btnHome','')" style="display:inline-block;font-size:Medium;height:35px;width:130px;">Main Menu</a>
- 不应用内联样式。 (这些样式由 ASP.NET *.skin 文件自动插入。)
- 单击链接不起作用。
在常规 Safari 中重新打开页面,并启用开发人员工具,我发现 JavaScript 错误。
TypeError:表达式“Sys.WebForms”[未定义] 的结果不是对象。
据我所知,相关的 ScriptResource.axd 文件被缓存并且没有重新加载,或者在重新加载时,某些初始化事件没有被重新调用。
注意:清除 Safari 的缓存就可以了。有时,浏览器中的刷新也可以。关闭并重新加载主屏幕上的图标永远不会起作用。
你以前解决过这个问题吗?
编辑: 我相信这种情况正在发生,因为我们正在使用 Web 服务器认为无效的参数查询 ScriptResource.axd。因此,它以错误页面响应。它使我无法理解为什么要刷新新的 default.aspx,但它会指向带有无效参数的 ScriptResource.axd。
【问题讨论】:
标签: asp.net asp.net-ajax mobile-safari