2013-07-02 34 views
1

所以我们有这个网站,据我所知只能通过Virgin Mobile 3G蜂窝网络(在iPhone 4上),HTML页面包含所有的脚本和头部中的样式标签的src设置为文档内嵌的URL。防止HTML被外部代理或蜂窝提供商修改

仅仅切换到WiFi或使用具有不同蜂窝网络的设备(如AT & T)并且HTML页面不会更改。

我可以看到这是一个优化,以加快页面的加载时间,但我们的脚本之一,只有他们不内联。

示例响应不使用蜂窝网络:

<html> 
    <head> 
    <script type="text/javascript" src="http://oursite.com/script.js"></script> 
    </head> 
</html> 

我们开始使用什么蜂窝网络:

<html> 
    <head> 
    <script style="display: none"> 
     // The contents of http://oursite.com/script.js (this is bad) 
    </script> 
    </head> 
</html> 

这是实际情况还是我只是疯了吗?有没有办法阻止手机提供商内嵌我们的脚本元素?

+0

您需要专门针对您的问题寻找解决您的编程问题的答案。您的网页被修改似乎是不言而喻的,已经有两个答案发布到您的基于意见的问题上,并且无法帮助您解决手头的问题。 –

+0

@RobertHarvey - 我认为我至少提供了一个_little_帮助,通过引导OP的注意力到技术的运营商,以使用http头来抑制这种转换。 –

+2

@RobertHarvey好的,对不起。我已经重新写了一下,询问如何防止这种情况发生。 –

回答

1

添加缓存控制:no-transform已经解决了这个问题。

0

网络,尤其是移动网络,可以做各种事情,包括内嵌内容,压缩(甚至调整图形大小)和transcoding。根据运营商的不同,您可能(或可能不)能够在请求和/或响应中设置一些标头来抑制部分或全部这些行为。

-1

互联网服务提供商,网络主机甚至病毒软件都有可能与您的网页混杂在一起。就你而言,移动提供商可能会这么做 - 或者浏览器正在使用优化页面的代理。

你跑哪些代码不能处理内线?也许它可以调整,让它以任何方式工作?

+0

这是一个GWT模块。我们从CloudFront CDN提供模块,文档位置来自我们的nginx前端。 GWT模块需要知道它的位置来自CloudFront CDN,而不是来自nginx前端。如果脚本内联,它将尝试从错误的URL和404中获取其余的置换JavaScript。 –