最近遇到一个问题,开发时使用Chrome调试,页面完美适配。但是用户由于种种原因,必须使用IE8浏览器,导致页面显示不正常,功能失效。不过幸运的是用户的电脑上都有Chrome浏览器。为了让用户能够正常使用,于是在登录页面使用IE的ActiveX来调用cmd实现用Chrome打开当前页。代码如下
window.onload = function () {
/** 如果用户使用IE浏览器,则跳转到Chrome浏览器以获取最佳体验*/
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否是IE11以下版本的浏览器
var isIE11 = userAgent.indexOf("Trident") > -1 && userAgent.indexOf("rv:11.0") > -1;//判断是否是IE11浏览器
if(isIE||isIE11) {
var objShell = new ActiveXObject("WScript.Shell");
objShell.Run("cmd.exe /c start chrome " + window.location.href, 0, true);//cmd调用Chrome打开当前网页
/** 关闭当前IE浏览器标签*/
if(isIE) {
window.open("", "_self");
window.close();
}else{
window.open("", "_top");
window.close();
}
}
}