开发者

ASP.NET / iPad Safari Cache Issue?

We have an ASP.NET web application which uses ASP.NET Ajax. We open it from within Safari on the iPad. It works fine.

We save it to the home screen as a separate icon. We added the meta tag that makes it load in full screen, without Safari's navigation bar. It works fine.

Later, we re-open it and notice it is broken. Here is a portion of the HTML that is rendered that shows what doesn't work.

<a id="ctl00_Header1_btnHome" class="Button" href="javascript:__doPostBack('ctl00$Header1$btnHome','')" style="display:in开发者_运维百科line-block;font-size:Medium;height:35px;width:130px;">Main Menu</a>
  1. The inline styles are not applied. (These styles are auto-inserted by an ASP.NET *.skin file.)
  2. Clicking on the link doesn't work.

Re-opening the page in regular Safari, with developer tools enabled, I find a JavaScript error.

TypeError: Result of expression 'Sys.WebForms' [undefined] is not an object.

From what I gather, either the related ScriptResource.axd file is cached and not reloaded or, when reloading, some initialization event is not re-invoked.

Note: Clearing Safari's cache does the job. Sometimes, a refresh in the browser also works. Close & reload the icon on the home screen never works.

Have you solved this issue previously?

Edit: I believe this is happening because we are querying for ScriptResource.axd with parameters that are considered invalid by the webserver. It is thus responding with an error page. It escapes me why the new default.aspx would be refreshed, but it would point to a ScriptResource.axd with invalid parameters.


Adding this to the web.config (to disable compression) seems to work.

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


This is not a caching/compression bug. See Reasons why ASP.NET AJAX would be disabled for the correct answer.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜