我有一个奇怪的情况,我的 Javascript 在 Android 2.x 设备上以不可预知的方式失败。
一些描述是:
Javascript 应用程序的某些部分可以工作,而某些部分则不能。这些“部分”被分解为具有单独构造函数的模块。
Javascript 应用程序在一台服务器上失败,而不是在我们自己的网络中的另一台服务器上失败。
Javascript 应用程序有时会在页面上的多个脚本文件中引发 ILLEGAL TOKEN 错误,但该应用程序在任何桌面客户端上都不会引发错误,并且被认为在语法上是正确的。
为了解决这个问题,我在地址栏中输入 about:debug 并刷新。繁荣。突然间,整个 Javascript 应用程序都可以工作了,包括每个模块和每个服务器上。
此外,现在Android“记住”了这一点,并且缺陷在90%的时间内都消失了,但偶尔会随机出现。
这是一个 ASP.NET Episerver 堆栈,我们使用 Cassette 连接和缩小大约 12-20 个脚本,其中大约 4 个“最终”脚本块被渲染到页面。
有没有人遇到过这样的事情?我唯一的策略是将脚本分解成几个额外的 HTTP 请求以减慢解析器的速度……但我真的不知道这里发生了什么。
谢谢!