ASP.NET / iPad Safari Cache Проблема? - PullRequest
3 голосов
/ 15 апреля 2011

У нас есть веб-приложение ASP.NET, которое использует ASP.NET Ajax.Мы открываем его изнутри Safari на iPad.Работает нормально.

Мы сохраняем его на главном экране в виде отдельного значка.Мы добавили метатег, который позволяет загружать его в полноэкранном режиме без панели навигации 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' [undefined] не является объектом.

Из того, что я понял, либо связанный файл ScriptResource.axd кэшируется и не перезагружается, либо при перезагрузке какое-либо событие инициализации не вызывается повторно.

Примечание. Очистка кэша Safari делает свою работу.Иногда обновление в браузере также работает.Закрыть и перезагрузить значок на главном экране никогда не работает.

Вы уже решили эту проблему ранее?

Редактировать: Я полагаю, что это происходит, потому что мы запрашиваем ScriptResource.axd с параметрами, которые веб-сервер считает недействительными.Таким образом, он отвечает с ошибкой страницы.Это ускользает от меня, почему новый default.aspx будет обновлен, но он будет указывать на ScriptResource.axd с недопустимыми параметрами.

Ответы [ 2 ]

1 голос
/ 20 мая 2011

Это не ошибка кэширования / сжатия.См. Причины, по которым ASP.NET AJAX будет отключен для правильного ответа.

1 голос
/ 26 апреля 2011

Добавление этого в web.config (чтобы отключить сжатие), похоже, работает.

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