Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 3g浏览器渲染问题。无线上网很好_Iphone_Css_3g - Fatal编程技术网

Iphone 3g浏览器渲染问题。无线上网很好

Iphone 3g浏览器渲染问题。无线上网很好,iphone,css,3g,Iphone,Css,3g,我正在建立一个网站,除了3G网络上的iPhone之外,它似乎可以在所有的网络浏览器上正常工作 由于某些原因,它没有正确显示,就好像CSS没有被解析一样。作为我调查的一部分,我在wifi连接中尝试了相同的浏览器(iPhone Safari),页面呈现良好 该页面是用经典ASP编写的,有趣的是,如果我从PC浏览器复制呈现的源代码,并将其扩展名设为.htm,当您在3G上的iPhone上查看该页面时,它的呈现效果很好。同样的代码,那么这是经典的ASP和3G或者可能是移动公司的3G网络在阻止特定内容方面的

我正在建立一个网站,除了3G网络上的iPhone之外,它似乎可以在所有的网络浏览器上正常工作

由于某些原因,它没有正确显示,就好像CSS没有被解析一样。作为我调查的一部分,我在wifi连接中尝试了相同的浏览器(iPhone Safari),页面呈现良好

该页面是用经典ASP编写的,有趣的是,如果我从PC浏览器复制呈现的源代码,并将其扩展名设为.htm,当您在3G上的iPhone上查看该页面时,它的呈现效果很好。同样的代码,那么这是经典的ASP和3G或者可能是移动公司的3G网络在阻止特定内容方面的奇怪之处吗

我也在诺基亚3G Vodaphone网络上试用过,效果不错

因此,我相信这证实了iPhone浏览器没有故障,3G网络没有故障,代码没有故障,因此我似乎无法理解问题所在,除了具体的3G提供商的问题


也许有人以前见过这种情况,并提出了有助于解决此问题的建议/解释?

您的3g网络提供商可能会插入一个代理来服务网页,例如缩小图像大小。此外,它可能会向页面中注入一些JavaScript。这些事情可能是你问题的根源。某些iPhone浏览器允许您查看网页的来源,例如iCab mobile,因此您可以双重检查网络提供商向浏览器发送的内容


只是一个猜测…

经过一些调查,似乎问题的解决方案是在使用外部CSS文件引用时不使用导入,3g不喜欢某些服务提供商使用导入。

我不久前遇到过这个问题,它是由O2进行的CSS和javascript压缩造成的,我发现解决方案是添加一个HTTP头对这些文件的“缓存控制:无转换”响应指令

见:

另见

对于在ASP.NET中需要解决此问题的任何人,这将使用URL重写模块2.0为javascript文件设置缓存控制头



感谢您提供此建议,以帮助找出返回的内容。在某些情况下,它似乎在删除已交付源中的空格:作为:如果它随机执行此操作,我并不惊讶它的行为是否奇怪。如果有解决方案,您以前见过吗?@user779816我以前没有见过此情况ore.可能代理试图消除不必要的空白,这在您的情况下会出错。请使用w3c CSS和HTML验证程序检查整个HTML的有效性-可能存在导致代理出错的故障,而浏览器通常比较宽松。
<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>