【问题标题】:ASP.NET / iPad Safari Cache Issue?ASP.NET / iPad Safari 缓存问题?
【发布时间】: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>
  1. 不应用内联样式。 (这些样式由 ASP.NET *.skin 文件自动插入。)
  2. 单击链接不起作用。

在常规 Safari 中重新打开页面,并启用开发人员工具,我发现 JavaScript 错误。

TypeError:表达式“Sys.WebForms”[未定义] 的结果不是对象。

据我所知,相关的 ScriptResource.axd 文件被缓存并且没有重新加载,或者在重新加载时,某些初始化事件没有被重新调用。

注意:清除 Safari 的缓存就可以了。有时,浏览器中的刷新也可以。关闭并重新加载主屏幕上的图标永远不会起作用。

你以前解决过这个问题吗?

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 从头开始 - 它没有 - 只是暂时修复它。
    【解决方案2】:

    这不是缓存/压缩错误。正确答案见Reasons why ASP.NET AJAX would be disabled

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-21
      • 2011-10-06
      • 1970-01-01
      • 2022-09-30
      • 2011-08-09
      • 1970-01-01
      • 2011-02-28
      • 2011-01-11
      相关资源
      最近更新 更多