Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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
Javascript 防止外部代理或移动服务提供商修改HTML_Javascript_Html_Ios_Web - Fatal编程技术网

Javascript 防止外部代理或移动服务提供商修改HTML

Javascript 防止外部代理或移动服务提供商修改HTML,javascript,html,ios,web,Javascript,Html,Ios,Web,我们有这个网站,据我所知,只有通过Virgin Mobile 3G蜂窝网络(在iPhone 4上),HTML页面的头部有所有脚本和样式标记,src设置为文档内联的URL 仅仅切换到WiFi或使用具有不同蜂窝网络(如AT&T)的设备,HTML页面不会改变 我可以看出这是一个如何加快页面加载时间的优化,但是我们的一个脚本只有在没有内联的情况下才能工作 不使用蜂窝网络的响应示例: <html> <head> <script type="text/javascr

我们有这个网站,据我所知,只有通过Virgin Mobile 3G蜂窝网络(在iPhone 4上),HTML页面的头部有所有脚本和样式标记,src设置为文档内联的URL

仅仅切换到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>

我们通过蜂窝网络获得的信息:

<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>

//内容http://oursite.com/script.js (这很糟糕)

到底是这样还是我疯了?有没有办法防止手机提供商内联我们的脚本元素?

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

互联网服务提供商、网络主机甚至病毒软件可能会破坏您的页面。在您的情况下,可能是移动提供商正在这样做,或者浏览器正在使用优化页面的代理


您正在运行的哪些代码无法处理内联问题?也许可以对其进行调整以允许其以任何一种方式工作?

添加缓存控制:没有任何转换可以解决此问题。

您需要将问题的重点放在找到编程问题的答案上。你的页面被修改似乎不言而喻,对于你的问题,已经有两个答案是基于意见的,不能帮助你解决手头的问题。@RobertHarvey-我想我至少提供了一点帮助,将OP的注意力引导到运营商,让他们使用http头技术来抑制这种转换。@RobertHarvey好的,对不起。我重新编写了一点来询问如何防止这种情况发生。这是一个GWT模块。我们的模块由CloudFront CDN提供,文档的位置来自我们的nginx前端。GWT模块需要知道它的位置来自CloudFront CDN,而不是nginx前端。如果脚本是内联的,它将尝试从错误的URL和404获取其余的置换Java脚本。