ASP.NET / iPad Safari缓存问题?

时间:2011-04-15 18:54:33

标签: asp.net asp.net-ajax mobile-safari

我们有一个使用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>
  1. 不应用内联样式。 (这些样式由ASP.NET * .skin文件自动插入。)
  2. 点击该链接无效。
  3. 在常规Safari中重新打开页面,启用了开发人员工具,我发现了JavaScript错误。

      

    TypeError:表达式'Sys.WebForms'[undefined]的结果不是对象。

    从我收集的内容中,相关的ScriptResource.axd文件被缓存而不是重新加载,或者在重新加载时,不会重新调用某些初始化事件。

    注意:清除Safari的缓存可以完成这项工作。有时,浏览器中的刷新也有效。关闭&amp;重新加载主屏幕上的图标永远不会工作。

    您之前解决了这个问题吗?

    编辑: 我相信这种情况正在发生,因为我们正在使用Web服务器认为无效的参数查询ScriptResource.axd。因此它响应错误页面。它让我无法理解为什么新的default.aspx会被刷新,但它会指向一个带有无效参数的ScriptResource.axd。

2 个答案:

答案 0 :(得分:1)

将此添加到web.config(以禁用压缩)似乎可行。

<system.web.extensions>
<scripting>
<scriptResourceHandler enableCompression="false" enableCaching="true" />
</scripting>
</system.web.extensions>

答案 1 :(得分:1)

这不是缓存/压缩错误。有关正确答案,请参阅Reasons why ASP.NET AJAX would be disabled