FF&Chrome中的AJAX
来源:互联网 发布:excel表格数据合并计算 编辑:程序博客网 时间:2024/05/20 07:36
在国际化测试过程中,不知你是否遇到过这样的情况?用FF访问某一页面时候,发现该页面已被完美的本地化;而换到了Chrome之后,问题出现了,整个页面依然充斥着英文。(语言设置没有问题!)
有人说,那就清理一下cache呗!非常好,说做咱就做,不过……清理完之后发现Chrome页面没任何变化,让大家失望了,这可如何是好?
反思这两个测试用例,除了浏览器的差异,操作步骤没有任何不同,那么该问题应该可以进一步转化为——FF跟Chrome有何区别?抢答开始。
甲:二者内核不一样啊,FF是Gecko,Chrome 用 Webkit!
乙:FF启动后进程只有firefox.exe+ plugin-cuntainer.exe两个,而Chrome每个页面都有一个进程,每个插件、每个扩展又各一个进程!
丙:FF更开放,Chrome浏览速度更快!
OK 大家说的都对,但这跟国际化有何关系呢?
甲:……
乙:……
丙:都看我干吗?o(╯□╰)o
其实问题应该定位在二者JavaScriptEngine上,尝试着总结如下吧,不足之处,还请各位指正。
1. 获取鼠标的坐标时,FF不支持event.x,代之以event.screenX
2. FF不能在JS中直接使用event对象,必须将event传递给JS方法再使用
3. FF使用document.documentElement.scrollTop能够获取滚动的高度,但Chrome代之以document.body.scrollTop
4. 动态添加文本innerText对FF无效,应该代之以innerHTML
5. FF上获取不到formname,只能用document.formname来获取表单对象
6. Chrome只支持AJAX异步读取数据,同步被抛弃
根据多年游戏经验,最后出场的一般都是大boss!走读示意代码,果然有嫌犯async: false 八成就是他,果断删除,转而用异步方式读取翻译文件,噔噔噔噔~~~问题解决!
/** * Load language JSONfile according to browser's locale setting using * AJAX synchronouscall. */url = '../locale/' + this.locale + '.json';$.ajax({ type:"GET", url: url, dataType:"json", async: false, cache: false, success:function(data) { if (!!data) { self.translatedTable = data; } else { JSLogger.error('Invalid translation data: ' + url); } }, error:function(jqXHR, textStatus, errorThrown) { JSLogger.error('Failed to load translation data: ' + url + ', status: '+ textStatus + ', errorThrown: ' + errorThrown); }});
尘埃落定,但从这个故事中,我们又可以学到什么呢?(尤其是国际化测试人员),个人认为至少有两点吧。
1. 涉及资源文件读取的部分,询问清是否采用了AJAX技术,同步还是异步,从而再制定matrix,而不仅仅是凭经验
2. 多探索各个平台,各个浏览器对国际化的影响,不要只为了遍历制定的matrix而遍历
- FF&Chrome中的AJAX
- IE、FF、Chrome中的JS
- JS捕获按键在IE,FF,CHROME中的应用
- IE、FF、Chrome浏览器中的JS差异介绍
- IE、FF、Chrome浏览器中的JS差异介绍
- IE、FF、Chrome浏览器中的JS差异介绍
- IE FF CHROME hack
- DIV CSS在不同IE版本和FF以及Chrome中的兼容性差异解决方法(推荐)
- ff支持的Ajax请求
- JS全选代码,兼容IE,FF,Chrome
- Bcastr4 与 IE FF Chrome 全兼容
- 偶尔被ie/ff/chrome玩玩
- js关闭窗口 ie ff chrome
- 复制到剪切板 兼容(IE/FF/Chrome/..)
- ie8,ff,chrome兼容半透明层
- 复制到剪切板 兼容(IE/FF/Chrome/..)
- js判断ie,ff,chrome各浏览器
- Css Hack(IE,FF,Chrome,Opera)
- 2016/10/26 c语言tcp传输文件的理解
- java中的匿名内部类总结
- PostgresSql 中查询库中全部的表
- 深入解析C++编程中的静态成员函数
- 198. House Robber
- FF&Chrome中的AJAX
- 关于recycleView
- think in java笔记: Thread的interrupt()方法
- hellocharts使用流程
- bzoj2763飞行路线(dijkstra和SPFA两个版本)
- android实现颜色渐变
- R语言:spdep包(空间数据分析与R语言实践)
- 欢迎使用CSDN-markdown编辑器
- Qt 之 stylesheet 用法, QSS实例