背景:
Adobe公司的Flash Player诞生于1996年,并在后来十年时间里成为了风靡一时的多媒体程序播放器,据统计Flash Player曾经达到13亿台电脑安装使用,装机率超过90%,但是随着互联网技术的发展,Flash Player更多的弊端也慢慢暴露:安全性低、兼容性差、使用效率低等。主流浏览器Chrome、Edge等也对Flash Player痛下杀手,取消了其PPAPI插件的运行支持,微软IE更是直接卸载原系统集成的Flash Player版本,使很多依旧依赖Flash Player的网站和系统没办法正常运营。
方案:
2017年Adobe就建议开发者把Flash内容及程序移植到 HTML5、WebGL 以及 WebAssembly,但是由于种种原因,很多公司都未能正常迁移,比如目前的CCTV官网,仍有大量视频需要Flash Player来播放,这时候只能从浏览器的角度来解决问题了。
1、最保守的方案:把Flash Player版本退回到之前的旧版本,虽然暂时可以使用了,但是存在着巨大的安全漏洞,并且也只能在低版本的浏览器中使用,这个方案谨慎建议使用。
2、特定浏览器方案:国内的浏览器,比如QQ浏览器、360浏览器等,一般都是双内核的,并且内核版本都比较低,目前仍然可以继续使用Flash Player,如果万一浏览器版本上升,就彻底不能使用Flash Player了,比如目前注明的小游戏网站4399,也是推荐用户使用国内的浏览器再搭配r中国区版Flash Player。目前Adobe官方给企业的的方案是使用第三方公司的Flash Player内置浏览器,每年的费用大概4万美刀,并且还不能在主流浏览器中使用。
3、升级技术方案:想要完美解决问题,不仅要解决浏览器兼容问题,还需要解决随时出现的各种弹出广告问题,才能彻底的使用在商业环境中,目前比较成熟可以完美解决的谷歌Chrome浏览器不再支持Flash Player的方案就是——猿大师中间件。
a) 猿大师中间件搭配IE控件小程序,让Chrome、Edge、Firefox等浏览器变成双内核方案,而且还可以指定IE内核运行的版本,这种方案尤其适合那些以前只兼容IE低版本浏览器的网站,只需要对网站做简单改造,通过JS脚本连接Web Socket侦听端口,然后通过JSON组包发送命令即可,前端还可以与IE控件小程序互操作。此方案由于借助了IE内核,内存占用会高一些,可能会遇到IE网页加载ActiveX控件警告问题。
b)猿大师中间件搭配Flash Player网页播放小程序,此方案完全甩开IE内核来加载Flash Player的ActiveX控件,运行性能比第一种方案好,内存占用低、体验也更好,不过网站改造这块更多一些,不过是一劳永逸的解决办法,如果是新项目要兼容Flash Player的运行,建议用此方案。
总结:
一个好的技术实施方案,首先是要满足客户的刚性需求,其次是尽量降低开发、实施及运营的总成本,再次是是良好的兼容性和稳定性,最后需尽量确保技术方案不能因为浏览器的升级而失效。本文基于当前最新的技术信息和实践经验,提供了这样一个稳定可靠、兼容性好的低成本半开源技术方案,以供大家选型参考。