我有一个奇怪的情况,我的Javascript在Android 2.x设备上以不可预测的方式失败。
一些描述将是:
Javascript应用程序的某些部分可以正常工作,而有些部分却没有。这些“部分”被分解为具有单独构造函数的模块。
Javascript应用程序在一台服务器上失败,而在我们自己的网络中失败。
Javascript应用程序有时会在页面上的多个脚本文件中抛出ILLEGAL TOKEN错误,但应用程序不会在任何桌面客户端上抛出任何错误,并且被认为在语法上是正确的。
要修复此问题,我输入about:debug到地址栏并刷新。繁荣。突然,完整的Javascript应用程序正常运行,包括每个模块和每个服务器。
此外,现在Android“记住”了这个,并且缺陷在90%的时间里都消失了,但是偶尔会出现一段时间。
这是一个ASP.NET Episerver堆栈,我们使用Cassette连接和缩小大约12-20个脚本,大约4个“最终”脚本块被呈现到页面。
有人遇到过这样的事吗?我唯一的策略是将脚本分解为几个额外的HTTP请求以减慢解析器的速度......但我真的不知道这里发生了什么。
谢谢!
答案 0 :(得分:0)
经过大量测试后,我们似乎已经修复了这个错误。这是Android 2.x使用以下标题下载Javascript文件的问题:
Content-Type: deflate
我们将其更改为:
Content-Type: gzip
很奇怪,为什么Android 2.x在deflate配置和Javascript文件方面存在问题。