我们有一个使用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>
在常规Safari中重新打开页面,启用了开发人员工具,我发现了JavaScript错误。
TypeError:表达式'Sys.WebForms'[undefined]的结果不是对象。
从我收集的内容中,相关的ScriptResource.axd文件被缓存而不是重新加载,或者在重新加载时,不会重新调用某些初始化事件。
注意:清除Safari的缓存可以完成这项工作。有时,浏览器中的刷新也有效。关闭&amp;重新加载主屏幕上的图标永远不会工作。
您之前解决了这个问题吗?
编辑: 我相信这种情况正在发生,因为我们正在使用Web服务器认为无效的参数查询ScriptResource.axd。因此它响应错误页面。它让我无法理解为什么新的default.aspx会被刷新,但它会指向一个带有无效参数的ScriptResource.axd。
答案 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。