该问题与此前其他人发布的内容完全相同:
Mobile Safari Cellular Only Loading Error
很遗憾没有答案发布到上述网址.
基本上,我一直在HTML中看到无关的随机垃圾字符,这些字符来自蜂窝数据,但同样的页面加载完全可以通过Wifi.这不是下载速度或连接问题,它似乎是蜂窝网络上一些无法解释的数据传输/解释故障.我已经能够在不同的位置和不同的设备上复制相同的问题.
可以通过数据加载Wifi但是因错误加载错误(由于上述无关的垃圾字符导致的JavaScript和CSS错误)的页面示例如下:
http://www.ear-say.com
还有其他人遇到过同样的问题吗?任何见解都非常感谢.
内容类型不是问题,但这让我更多地思考如何在我的服务器,网络和最终客户端之间转换页面.经过一些试验和错误后,我删除了JQuery引用,之后页面正确加载到AT& T celullar数据上.这导致了另一个Google搜索,并最终根据以下网址找到问题的答案:
http://bugs.jquery.com/ticket/8917
…上面的JQuery错误报告引用了这两个URL的修复程序,其中一个实际上来自stackoverflow:
http://mobiforge.com/design-development/setting-http-headers-advise-transcoding-proxies
Web site exhibits JavaScript error on iPad / iPhone under 3G but not under WiFi
总之,问题在于AT& T蜂窝数据网络的最近变化,类似于上述URL中描述的变化.即AT& T以某种方式修改某些网页内容,然后再将其发送到iPhone和iPad.修复很简单,只需为不希望由AT& T网络更改/转换的页面设置Cache-Control“no-transform”标题.
我通过以下方式在PHP中为选择页面手动设置标题:
header(“Cache-Control:no-transform”);
….但我认为它可以全局设置在目录的.htaccess文件中,或者虚拟主机文件中的域或httpd.conf文件中的整个服务器中,例如:
标头设置Cache-Control“无变换”
我不知道设置“无变换”将如何影响性能,我远不是Apache配置设置或网络的专家,但上面至少现在解决了最初的问题.