badboy录制兼容性有趣测试
badboy录制默认是启动IE浏览器,使用badboy录制脚本时,遇到测试系统对IE浏览器不兼容时,就需要考虑换浏览器,修改为其他浏览器(如firefox、chrome)录制,只需要设置该浏览器为默认浏览器即可,启动badboy,录制地址栏浏览器的图标会自动变为默认浏览器的图标。
遇到问题:启动badboy录制(录制浏览器为IE10),页面提示如下:
根据页面提示的URL,找到了应用包代码的路径,确认应用程序代码是没问题的,手工在IE10浏览器访问系统,系统对浏览器不兼容,页面跳转到浏览器提醒页面。如图:
下面我手工分别试了firefox、chrome、360极速访问系统地址,OK,系统可以正常打开登录页面,没有兼容性问题。
找到程序代码的判断浏览器兼容性common.js文件,如果浏览器不兼容,就会跳转到上面浏览器提醒页面,程序代码:
//判断 浏览器版本 function browser(){ if (!!window.ActiveXObject || "ActiveXObject" in window){ if(navigator.userAgent.indexOf("MSIE 6.0")>0 || navigator.userAgent.indexOf("MSIE 7.0")>0 || navigator.userAgent.indexOf("MSIE 8.0")>0){ //alert("1111您的浏览器版本过低,请升级到IE11(包含)以上版本!"); broser_url(); } if(navigator.userAgent.indexOf("MSIE 9.0")>0 && !window.innerWidth){//这里是重点,你懂的 //alert("2222您的浏览器版本过低,请升级到IE11(包含)以上版本!"); broser_url(); } if(navigator.userAgent.indexOf("MSIE 9.0")>0 || navigator.userAgent.indexOf("MSIE 10.0")>0){ //alert("3333您的浏览器版本过低,请升级到IE11(包含)以上版本!"); broser_url(); } }else if((window.navigator.mimeTypes[40] || !window.navigator.mimeTypes.length)){ //alert(is360se()); //alert("360浏览器!"); }else if(navigator.userAgent.indexOf("Chrome") != -1) { //alert("Chrome"); }else if(navigator.userAgent.indexOf("Safari") != -1) { //alert("Safari"); }else if(navigator.userAgent.indexOf("QQBrowser") != -1) { //alert("QQBrowser"); } else if(navigator.userAgent.indexOf("Firefox") != -1) { //alert("Firefox"); } else{ //alert('无法识别的浏览器。'); broser_url(); } }
测试一:badboy录制时使用firefox浏览器进行录制
依然会提示“脚本错误”,如图:
为了找到启动录制时访问系统,是执行了哪行程序代码,在common.js文件加了alert()提示,再次启动录制访问系统,如图:
Badboy录制时居然还是IE10浏览器(这可能是背后的原因啊!),如图:
测试二:badboy录制时使用chrome浏览器进行录制
再次尝试,设置chrome浏览器为默认浏览器,这样badboy录制时就会启动chrome浏览器录制。在浏览器上手工访问测试地址,测试一下。
但结果让人出乎意料,badboy录制时仍然认为是IE10浏览器,如图:
测试三:badboy录制时使用360浏览器进行录制
再尝试,设置360浏览器为默认浏览器,并手工试一下common.js判断的有效性。
启动badboy使用360浏览器进行录制,结果还是一样,如图:
结论:badboy录制浏览器始终默认是IE浏览器,至于原因,可能是本机系统有关,也可能是badboy录制底层默认就是IE内核,而badboy录制的浏览器兼容性问题(设置默认浏览器),只是方便用户在录制脚本时能顺便进行录制。