Проблемы с рендерингом браузера Iphone 3g. Wi-Fi в порядке - PullRequest
3 голосов
/ 01 июня 2011

Я создаю сайт, который работает нормально во всех веб-браузерах, кроме iPhone, в сети 3G.

По некоторым причинам он отображается неправильно, как будто CSS не анализируется.Как часть моего расследования, я попробовал тот же браузер (iPhone Safari) в соединении Wi-Fi, и страница отображается нормально.

Страница написана на классическом ASP, интересно то, что если я скопирую визуализированный источник из браузера ПК и добавлю ему расширение .htm, то при просмотре этого на iPhone в 3G он хорошо отрисовывается,Тот же код, так что это странно, когда классические ASP и 3G или сеть 3G мобильных компаний делают что-то для блокировки определенного контента?

Я также пробовал это делать в сети Nokia 3G Vodaphone, и это нормально.*

Итак, я считаю, что это подтверждает, что браузер iPhone не виноват, сети 3G не виноваты, код не виноват, поэтому я не могу понять, в чем проблема, кроме как бытьпроблема с определенным провайдером 3G.

Возможно, кто-то видел это раньше и у него есть предложение / объяснение, которое поможет решить эту проблему?

Ответы [ 3 ]

1 голос
/ 01 июня 2011

Ваш сетевой провайдер 3g может вставить прокси для обслуживания веб-страниц, например, для уменьшения изображения. Также это может добавить JavaScript на страницу. Такие вещи могут быть источником ваших проблем. Некоторые браузеры iPhone позволяют просматривать источник веб-страницы, например, iCab mobile, чтобы вы могли перепроверить, что доставляется в браузер у вашего сетевого провайдера.

Просто предположение ...

0 голосов
/ 06 марта 2013

Я столкнулся с этим некоторое время назад, это было вызвано сжатием css и javascript, выполненным O2, и я обнаружил, что решение было добавить в эти файлы директиву ответа заголовка HTTP «Cache-Control: no-transform».

См .: http://stuartroebuck.blogspot.co.uk/2010/08/official-way-to-bypassing-data.html

См. Также На веб-сайте обнаружена ошибка JavaScript на iPad / iPhone под 3G, но не под WiFi

Для тех, кому требуетсяРешение этой проблемы в ASP.NET позволяет установить заголовок Cache-Control в соответствии с файлами JavaScript, используя модуль перезаписи URL 2.0 http://learn.iis.net/page.aspx/665/url-rewrite-module-20-configuration-reference.

<system.webServer>
        <rewrite>
            <outboundRules>
                <rule name="Compression header" preCondition="Match JS Files">
                    <match serverVariable="RESPONSE_Cache-Control" pattern="(.*)" />
                    <action type="Rewrite" value="no-transform" />
                </rule>
                <preConditions>
                    <preCondition name="Match JS Files">
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="(javascript)$" />
                    </preCondition>
                </preConditions>
            </outboundRules>
        </rewrite>
0 голосов
/ 14 февраля 2012

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

...