2014-03-04 2 views
3

Мы обнаружили ошибку на нашем веб-сайте, где, если пользователь подключается через мобильное соединение, а не WIFI, страница выходит из строя.Страница нокаута, не работающая на мобильном устройстве

Мы установили, что страница имеет некоторый миниатюрный HTML-код в мобильном футляре с удаленными важными комментариями html, связанными с нокаутом, поэтому привязка падает.

Подключение через WIFI позволяет избежать проблемы, поэтому мы подозреваем, что оператор мобильной сети (T-Mobile/EE) минимизирует html.

Мы планируем переключить все html-комментарии нокаута на атрибуты, но есть ли другое возможное объяснение/решение, например, на стороне сервера?

+1

Телефонные браузеры часто удаляют ведущие и завершающие комментарии в зависимости от их местоположения в DOM. Отправьте образец некоторого кода, который игнорируется, и, возможно, мы можем предложить несколько советов. –

+2

Вы можете взглянуть на эту проблему GH: https://github.com/knockout/knockout/issues/1072. У него есть предложение использовать в заголовках, которые могут работать, если мобильная сеть их лишает. –

+1

Спасибо большое, что сработало! Я немного изменил вопрос. Вы хотите добавить этот комментарий в качестве ответа, и я его помету? – Andrew

ответ

2

Мы столкнулись с этой проблемой сегодня с нашим мобильным приложением. Мобильный провайдер уменьшал наш html, снимая комментарии, включая виртуальные привязки Knockouts.

Решение было выводить заголовок:

Cache-Control: нет-преобразования

Предположим, что ваш мобильный провайдер будет уважать заголовок. Другой альтернативой является не полагаться на виртуальные привязки.

+0

Отличный ответ, в ASP.Net я добавил «HttpContext.Current.Response.AppendHeader» («Cache-Control», «no-transform»)) на событие «Загрузка страницы» и это исправило мою проблему. – TvdH

Смежные вопросы