三星Note 2 Android ajax无法发起
hqzxzb opened this issue · comments
最近在使用的时候,在三星note2(android 4.3)原生浏览器页面中发起ajax请求,抛出了异常,
ReferenceError:name is not defined。
根据错误提示,定位到JSLite.js原始代码为:
for (name in headers) nativeSetHeader.apply(xhr, headers[name]);
在JSLite.min.js中是对应这行代码压缩后的代码报错。
根据实验,使用未压缩的JSLite.js可以正常运行,但是使用压缩好的JSLite.min.js会抛出异常。
然后我通过在线JS压缩工具压缩JSLite.js,这样压缩后的js也可以正常运行。
所以怀疑是不是压缩时的一些策略会导致Android系统的原生浏览器(Android版微信浏览器存在同样的问题)上出现问题。
@jaywcjlove 我测试的时候发现那一行代码本身并没有多少变化,只是换了变量名,所以有可能是其他地方被压缩了什么内容或替换了写法,引起Android上的异常。
@jaywcjlove
JSLite.js:
for (name in headers) nativeSetHeader.apply(xhr, headers[name]);
JSLite.min.js:
for(name in v)y.apply(g,v[name]);