flash的前端解决方案

前言

flash作为h5 video未完全替代的产物,在目前的pc端仍占有具有的比例,而前端如何去根据浏览器进行判断并根据需要提示给页面是我们必备的常识。

检测浏览器

function flashChecker() {
        var hasFlash = 0; //是否安装了flash
        var flashVersion = 0; //flash版本
        var isValid = 0; //是否过期

        //IE浏览器
        if ("ActiveXObject" in window) {
            try {
                var swf = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                hasFlash = 1;
                isValid = 1;
                VSwf = swf.GetVariable("$version");
                flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]);
            } catch (e) {}
        //非IE浏览器
        } else {
            try {
                if (navigator.plugins && navigator.plugins.length > 0) {
                    var swf = navigator.plugins["Shockwave Flash"];
                    if (swf) {
                        hasFlash = 1;
                        isValid = 1;
                        var words = swf.description.split(" ");
                        for (var i = 0; i < words.length; ++i) {
                            if (isNaN(parseInt(words[i]))) continue;
                            flashVersion = parseInt(words[i]);
                        }
                        if(swf.filename && swf.filename == 'internal-not-yet-present'){ //过期
                            isValid = 0;
                        }
                    }
                }
            } catch (e) {}
        }
        return { flash: hasFlash, version: flashVersion, vaild: isValid };
    }

下载或者启用flash

无论是用户禁用还是用户未安装,统一提供这个链接就可以,如果是禁用状态会帮你启用,如果是没有安装则会去下载的地址。

浏览器设置

  • chrome设置flash
  • 360设置flash :安全浏览器 se://plugins 或者极速浏览器 chrome://plugins,也可以通过工具、选项、高级设置、网页内容设置、插件设置、停用个别插件进入。
  • ie设置flash

发布者

Robinson Zhang

热爱前端,热爱分享,坚持高频写作,从小白到大师只是时间问题。

发表评论