在前端做适配的时候有些客户使用了比较旧的浏览器如IE8、9等,前端技术栈中有些功能会出现异常或者无法显示页面,记录几个常用的方法对不兼容的浏览器抛出友好异常。

  1. 检测是否为IE浏览器
function isIE() {
        if (!!window.ActiveXObject || "ActiveXObject" in window){
            return true;
        }else{
            return false;
        }
    }
  1. 如果JS无法兼容该浏览器,则跳转到说明页面
///*@cc_on!@*/ IE条件编译,被执行时候返回True,非IE下返回False
/*
MSInputMethodContext是检查IE功能上下文的一个变量,IE特有
documentMode 是 IE 浏览器特定属性,在IE8及之后的IE版本都支持该属性。
*/
    if (/*@cc_on!@*/false || (!!window.MSInputMethodContext && !!document.documentMode)) {
        window.open("https://support.dmeng.net/upgrade-your-browser.html?referrer="+encodeURIComponent(window.location.href));
    };
  1. 除了第一种方式之外,还可以使用noscript标签,在不支持JS时会抛出异常
<noscript>
    <strong>We're sorry but Application doesn't work properly without JavaScript enabled.Please enable it to continue.</strong>
</noscript>

以上源码部分或全部参考于开源社区Github,感谢以下开源代码作者做出的贡献
Naive-UI-Admin

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐