微软官宣IE将“退役”,老网站如何 实现在Chrome、Firefox中兼容运行?

news/2024/5/21 1:02:48/文章来源:https://blog.csdn.net/XM972340118/article/details/117259424

 

  • 问题

美国微软公司为了推广其Chromium内核的Edge浏览器,在2021年5月19日突然宣布,自2022年6月15日起,绝大多数版本的Windows 10系统将不再支持IE浏览器,因此IE即将彻底退出互联网的舞台。具体来说微软决定将不再支持Windows 10所有消费者版本中的IE运行,即使用户强制启动IE也会重定向到Edge浏览器来打开网页,类似这样:

 

服务器和长期服务渠道(LTSC)的Windows 10版本中虽说暂时不变,但谁也说不清哪天也会被取消支持了。相关详情可点击:The future of Internet Explorer on Windows 10 is in Microsoft EdgeInternet Explorer 11 desktop app retirement FAQ查看。

IE诞生于1995年,是Windows系统默认的免费网页浏览器,微软利用系统捆绑的方式很快就击败了当时收费的竞争对手Netscape。在巅峰时期,IE占据了全球桌面浏览器市场90%以上的份额,直到2013年前后谷歌浏览器逐渐成为主流。在这近20年的时间里,虽然中途有Firefox浏览器最高时抢占了约30%市场份额,但是当时不管哪个网站的发布都得把兼容IE作为重头戏进行测试。而在互联网发展的历史进程中,浏览器的功能开始时还比较简单,为了弥补浏览器自身功能的不足和提高网页中的交互体验,浏览器开发商都提供了非常开放的插件开发接口给第三方调用,其中以IE中的ActiveX控件和非IE中的NPAPI插件最为典型。第三方公司基于浏览器的插件开发接口开发了各种各样的控件或插件,典型如金融行业网银系统的安全及读卡等控件、多媒体领域的Flash Player等网页播放器,工业设计领域的dwg/dxf等图纸查看控件,因此各大下载站点类别中还单独增加了浏览器插件软件。而美国谷歌公司的Chrome浏览器为了抢占IE的用户,基于IE开发接口发布了Chrome Frame插件可将IE网页改成Chromium内核渲染显示。为简化各浏览器的插件开发,国外还诞生了非常有名的跨浏览器的开源插件框架FireBreath,底层实现采用的是ActiveX控件和NPAPI插件技术,曾经流行的Java Applet和Unity网页游戏引擎底层实现同样如此,有几年时间基于这两个开发的网页游戏不仅多,还很火爆,全民半夜网络偷菜成为一景。而RIA(丰富型互联网应用程序)曾经也非常受企业欢迎,AdobeFlex和微软的Silverlight作为RIA开发的两个典型代表由于门槛低、开发便捷等优势在企业信息化领域得到了广泛使用,其实现同样依赖ActiveX控件和NPAPI插件技术

然而,这些浏览器的控件或插件是否安全、是否稳定好用,完全取决于其开发商,因此时常被别有用心的人或公司利用来散发病毒、植入木马或偷取敏感信息,导致联网操作越来越不安全,浏览器本身也经常因此失去响应或崩溃。IE浏览器不得已增加了多种所谓的安全设置来限制运行ActiveX控件,这又导致体验差、实施维护难,因为大多数电脑用户也不懂得如何修改设置来确保正常运行这些ActiveX控件。如下图所示:

 

 

而谷歌公司在2015年索性宣布在其后发布的Chrome浏览器直接取消NPAPI插件的运行支持,随后Firefox新版本浏览器也跟随Chrome不再支持NPAPI插件的运行,从此所有使用了NPAPI插件技术的老网站再也无法在Chrome、Firefox、Opera等高版本浏览器中运行,网站提供商大多数就只能退而求其次,需要时只能让用户启动IE访问。这不,时至今日即使是最有钱的金融行业各大银行,也没有解决其网银系统在Chrome、Firefox等高版本浏览器中的使用问题。当用户在这些浏览器中使用遇到兼容性问题时,也只能无奈的告诉用户,请使用IE浏览器,囧。然而现在微软平地一声雷,突然宣告IE即将寿终正寝,比如银行、工商、税务、教育等老网站大多属于公共服务及OA、ERP等企业信息化系统还不得不继续提供服务,这就面临再无浏览器可用的窘境,现在是迫切需要一个具有良好兼容性、稳定性的可行技术方案来彻底解决此问题的时候了。

  • 现有方案

结合当前各方面的信息,现有解决方案大体上有如下几类:

  1. 以不变应万变方案,继续当鸵鸟,不升级操作系统和浏览器版本,避免无法使用的情况出现。虽然说这样也不是不可以,但会面临巨大的安全风险,因为使用的陈旧操作系统如Windows 7或低版本浏览器被发现和公开的漏洞越来越多且无法修复,随时可能被攻击或被利用导致业务系统停止运行和丢失敏感数据。况且此方案只适用于企业内部电脑数量少且固定的场景。对于类似网银这样为公众服务的网站或终端请求电脑数量多又经常变动的网站,用户的电脑操作系统和浏览器版本往往是不可控的,只能尽量主动去适配用户的电脑环境确保可用,否则每人一口唾沫也会把客服人员淹死。或许你会说让用户全部切换用手机APP或传统桌面客户端就行了,不再提供桌面网页版,暂且不说这种躲猫猫的懒政行为会对企业形象造成巨大伤害,企业网银的桌面网页版总不能也取消支持吧,因为在企业内网中使用桌面电脑的比例比较高,移动端由于屏幕大小所限或安全因素考虑,始终还是少数,而传统桌面客户端开发、部署、维护等又是个大麻烦。还有就是业务系统所用的电脑,时间长了可能坏掉或需要增加数量来使用,而这些新购电脑往往安装的是当前主流的操作系统,说不定哪天就无法降级安装老版系统来使用了。在2021年1月份就发生了一起因新购电脑自动安装了被Adobe公司突然停用的Flash Player软件版本导致大连车务段的现在车系统无法正常使用的事故,引起了广泛的舆论关注和网民的群嘲,幸运的是这些新购电脑还能安装旧版系统降级使用,但问题并未得到根本解决。
  2. 采用浏览器扩展方案,比如Chrome、Edge等浏览器上的扩展程序商店中,可以下载安装国外开发商提供的IE Tab,但其商业用途是收费的。通过此扩展程序,可以在浏览器标签页中把某个网页整体用IE内核渲染显示,据统计这是在Chrome程序商店中付费用户最多的扩展,可见需求还挺强烈。不过由于国内的特殊网络环境,往往无法直接在线下载完成安装,对普通电脑用户来说这步就难倒了大多数人。况且商业用途的话,企业内网常常是和外网阻断的,实施部署非常麻烦,而且网页需要切换到IE内核渲染时还需要用户手工点击一下,体验还是差了一些,也无法满足国内自主可控的要求。其售价也不低,因为是国外开发商,沟通交流存在障碍不说,采购流程也是漫长又繁琐的。好处是不需要修改网站代码,可支持主流版本的浏览器使用。
  3. 双内核浏览器方案,国产典型的如360、QQ等浏览器,需要用IE内核来渲染的网页,可在地址栏右侧手工点击切换内核的闪电图标来完成重新加载显示。此方案虽然是免费的,不过代价是终端电脑用户可能会时常收到广告弹窗,防不胜防又无可奈何。这些浏览器往往也非常臃肿,因为夹带了不少和开发商利益相关的私货功能,另外其内置的Chromium内核版本往往不是最新的,也存在潜在的安全漏洞风险。最大的问题是这些浏览器在整个桌面浏览器的市场份额占比低,无法确保70%左右市场份额的Chrome浏览器可以正常使用。此方案好处也是不需要修改网站代码,成本低。
  4. 微软官方建议的方案,就是Edge的IE模式。笔者作为这方面的专业人士,在Edge最新的大众90版本上根据网上的相关教程也没实践出如何让某个网站用IE模式来渲染显示,诸位看官可出手试试,^_^。其复杂的设置如下图所示:

     

 

这个Chromium内核的Edge浏览器,在微软重金推广之下,目前市场占有率也还仅仅是个位数,或许正如微软自家网页翻译服务自动译为“边缘”浏览器的意思一直这样了,想要作为主要技术方案来实施还是太勉为其难,而且Edge只能模拟IE 11,在64位系统上Edge的IE模式能否加载32位的ActiveX控件也是未知数,感觉就是不想让你用起来IE模式,微软为了让客户改用Edge也是无所不用其极啊。

  1. 彻底改造方案,就是将无法在Chrome等浏览器中兼容运行的程序模块,比如ActiveX控件实现的功能改用比如HTML5、WebGL、WebAssembly等新技术重写。然而理想是好的,现实确是非常无奈的,由于Chrome等浏览器越来越收紧其开发接口,太多想要实现的功能很难做到。即使能实现,很可能功能实现不全,另外投入大、周期长,前端网页代码需要同步调整,运行性能也是很大的问题。就拿摄像头的RTSP实时视频流播放来说,IE中调用ActiveX控件来播放延迟在毫秒级,而在Chrome中只能采用转码方案播放延迟在秒级,相差数倍,往往无法满足安防行业的要求。此外还普遍存在ActiveX控件的调用方和ActiveX控件的开发方不是一家的情况,调用方想要实现替代ActiveX控件功能更是难上加难,而想要开发方公司提供替代组件往往也不可行,开发方失联或已经关门歇业也不是啥稀罕事。
  • 新方案

综合对比上述的各种方案,您会发现没有一个方案是可以令大家满意的。想要实现一个低成本、兼容性好、高性能、易于实施的自主可控解决方案,需要另辟蹊径。这个问题的根源还是因为Chromium等内核的浏览器不再支持DLL、ActiveX控件等原生程序的运行,新提供的PPAPI插件技术又因为太多限制迄今为止成功案例极少,很快会被取消支持。所以突破点就在于是否能在主流的Chrome、Firefox等浏览器之上实现一个通用的外接框架来支持这些原生程序的内嵌网页运行,并且可以自动响应浏览器的各种操作如窗口缩放、窗口移动、窗口关闭、网页滚动、标签页切换等。经过搜索发现有个成熟的半开源国产中间件软件(https://codechina.csdn.net/zorrosoft/pluginok)正好实现了,兼容性还很强,宣称是一个跨浏览器的原生小程序系统,同时提供了前端可自动安装、升级小程序的可控机制,重点还引入了调用方权限验证机制,可确保这些小程序的运行安全。这一整套技术方案具有较强的创新性和实用性,开发商还申请了软件发现专利保护。看到已经有不少公司采用,有的还是上市公司,笔者下载软件后赶紧联系客服开通权限免费试用了下,真的很神奇,运行效果完全和以前NPAPI插件实现的一样。下面是其实现原理图:

 

通过简单的技术分析和其文档介绍得知,这个就是在浏览器之外再搭建了一个和操作系统交互的通道用于支持DLL、ActiveX控件等原生程序的运行,完全不依赖浏览器自身的开发接口,这样就很好规避了浏览器升级可能造成技术方案失效的风险。而在浏览器中通过HTML5标准中的Web Socket技术和这个pluginok中间件及启动的原生小程序通讯,实现双向的命令请求和反馈机制。此方案的难点是要让外接的程序能够很好的模拟运行在网页中,实现内嵌网页运行的真实体验,可喜的是我们看到pluginok实现的效果令人满意,不仅仅支持有交互界面的窗口程序可内嵌运行,也可以对各种硬件设备的驱动DLL进行调用。开发商还发布了VLC网页播放小程序、桌面微软Office及金山WPS在线编辑系列小程序等,可以把Word、Excel等程序窗口直接完整内嵌到Chrome网页中运行。可以看出这个中间件的问世不仅仅是为解决老网站兼容运行的问题,而且是基于浏览器搭建了一个类似微信小程序那样的小程序生态系统,用于扩展浏览器的功能,让浏览器成为各种信息化系统集成的最佳容器,可彻底解决B/S系统的各种痛点和难点,让传统的C/S桌面程序迁移到浏览器中运行再无障碍。

具体到兼容老网站的方法,基于这个pluginok中间件提供了两种方案:第一种就是pluginok中间件搭配其官方发布的IE控件小程序,可以在Chrome等浏览器网页中通过脚本请求实现局部加载IE内核渲染的网页,成本低,前端改造小,部署可实现自主可控,这就比IE Tab扩展插件好太多了,当然缺点也是有的,这就是IE浏览器自身带来的了,加载运行时弹警告体验差、稳定性差、内存占用高,不想太折腾的老网站建议采用。第二种方案属于彻底改造方案,彻底抛弃IE内核,将原来的ActiveX控件或DLL等程序模块,基于pluginok中间件的二次开发接口封装为一个独立进程的小程序来运行。此方案前端改造大些,成本相对高,不过体验好,性能高,内存占用低,适合新开工项目采用。这两种方案都可以直接复用以前的DLL或ActiveX控件,无需其源码,这就大大节省了开发成本。第一种方案只需要修改网站前端代码,第二种同时还需要开发一个小程序,不过这个开发还是比较容易的,看介绍提供的是COM组件的友好接口,也可以委托开发,只是多一点成本,至少技术上是完全没问题的。

  • 总结

一个好的技术实施方案,首先是要满足客户的刚性需求,其次是尽量降低采购、开发、实施及维护的总成本,再次是要有良好的兼容性和稳定性,最后需尽量确保技术方案不能因为操作系统或浏览器的升级而失效。本文基于当前最新的技术信息和实践经验,给大家提供了基于pluginok中间件的两种新方案来解决老网站在Chrome等浏览器中的兼容使用问题,尤其适用于少改动以避免影响现有业务系统运行的场景,以供大家技术选型参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_868983.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python必去的6个网站

1.The Hitchhiker’s Guide to Python。 equests作者创建的网站,对于Python的方方面面都有指导作用 2. Python 3 Module of the Week 和 Python Module of the Week。 Python 3 Module of the Week系列文章,每篇介绍一个 Python 标准库的使用 3. …

你的网站被流量冲崩了吗?稳住!ab来帮你了

【来源】 ab 全称 Apache Benchmar , 顾名思义是Apache提供的一种性能测试工具。主要作用是检测web服务每秒可以处理多少个请求。它可以用于apache、IIs、tomcat、nginx等服务器的简单压力测试 【语法】 格式:ab [options] path 其中options参数常用有以下&#xf…

推荐大家研究一个网站tineye.com

http://www.tineye.com/,这个站点做得很有想法,详细体验我过几天发出,有兴趣的朋友可以先看看。 刚刚用这个站点上传了我硕士毕业的标准照,回顾了那段意气奋发的年代。

如何应对高并发 —— 动态网站静态化

零. 前言 为了应对高并发, 大多数网站在更新不频繁的页面都做了动态网页静态化处理。 典型的如: 淘宝的首页、 网易新闻的首页等。 当然这些网站加载速度这么快, 不仅仅是静态化, 还有 CDN、 缓存等各个方面的优化。 从阿里在 Inf…

HTML5移动端手机网站开发流程

最近一直在研究移动手机网站的开发,发现做手机网站没有想象中的那么难。为什么会这么说呢?我们试想下:我们连传统的PC网站都会做,难道连一个小小的手机网站难道都搞不定吗?其实手机网站就是一个微缩版的PC网站罢了!至于…

网站pc版转成手机版的三种方法

现在做自媒体博客的朋友有很多,可是,大家的自媒体博客都是PC版,只适用于电脑,平板上面,对于手机来说的话就不适合了,影响用户体验。下面,邵连虎博客就教大家三种方法把自媒体博客PC版转换成手机…

一些GIS数据网站分享

在平时的工作和学习中收集了不少的GIS数据的网站,给大家分享一下,整理不易,还请大家多多支持,后续会根据收集的数据网站继续更新,我都是根据我自己收集的情况推荐,涵盖可能不是很全,也欢迎大家补…

分享12个非常好的免费矢量资源网站

原文作者:梦想 原文出处:http://www.cnblogs.com/lhb25/archive/2011/04/08/2003802.html 在工作中,Web设计师经常需要到网上查找一些免费资源以更快更好的完成设计任务。这些资源都是到用时方恨少啊,所以今天本文与大家分享12个…

从0到1搭建一个网站

引言:如何从0倒1搭建一个网站。(记录我自己搭建过程,不涉及企业推荐) 目录 引言:如何从0倒1搭建一个网站。(记录我自己搭建过程,不涉及企业推荐) 所需要准备的东西 开始搭建(以阿里服务器为例) 搭建服务器环境 部署项目到网…

大型互联网站解决高并发的常见策略

出处:http://www.javabloger.com/article/high-concurrent-common-coping-strategies.html 一个运营的系统在正式上线后将会遇到各种层级的高并发请求,因此我们必须对此做出相应的策略和技术解决方案,首先我们需要认清系统的高并发由3个层面导…

Flask全栈开发案例(二)——Flask+Angular+Mongodb管理系统,创建一个热门游戏参数网站

文章目录 项目背景数据初始化主页展示游戏收藏详情展示新增与编辑源码获取 项目背景 该项目爬取PS4游戏论坛中对于的各个游戏参数的数据,进行web门户展示,设置用户登陆,可针对感兴趣的游戏内容进行增删改查操作。支持登陆用户进行评论互动。…

域名,网站名,URL解析

转载至:https://jingyan.baidu.com/article/2c8c281df0afd00008252aa7.html 什么是域名?现实中,域名使用的实在太多了,但域名的详细含义你理解么?你知道域名是什么吗?下面,小编将带你详解域名的…

用好这5个网站,月薪从4000变一万

Udacity https://cn.udacity.com/ Udacity 是一个自学编程网站,它的中文名字叫优达学城,你可以在上面学习所有的编程语言,课程大都是国外著名公司技术专家来教学的,而且很多课程都有翻译字幕。 edX https://www.edx.org/ 由麻…

细数网站建站中的坑

说到网站营销很多中小企业主已经走在前列,但还有很多企业没有涉及从网站获客。 其中原因有以下几点, 1.对网络营销获客不了解 2.现在很多建站公司高额的报价 3.对网站营销没有足够重视 4.网站营销成本高而实际效果看不见 以上几点是众多中小企业在…

mymps蚂蚁分类信息系统网站后台修改信息点击量、浏览量教程

有时候,我们需要修改分类信息的浏览数量,官方的程序是没有这个功能的,那么就需要自己二开了。 1、进入后台文件夹/admin 打开information.php 查找mappoint 在后面一行添加 1 $hit intval ( $hit ); 继续查找mappoint 在后面添加 . ,hit …

帮学校做的N多网站

很郁闷,只要有点能力都会被学校抓去做事。这些是义务帮学校做的N多网站,各院系的都有。不过还好,因为在公司呆过,有开发经验,学校的这点项目跟本就是小意思,两三天搞定一站都不在话下。 会计基础课程和数字…

在校时做的几个还满意的网站

玩技术的进了桂林电子科技大学如果不进创新实践基地的话,那简直是白去了。创新实践基地并不是一个学生组织,基地里面的很多人都有大志向。有同学大二就开了公司,并且赚钱,基地CEO也给大家做了个榜样,于07年成立了公司&…

电工测量及实验实训网站设计

算是私做的网站吧,因为我当时已经在公司上班了。这个是帮某老师做课件网站,不只是做设计,还要写程序,还得帮老师做课件里面的内容,得钱也不多,不过那老师很亲切。感觉是在帮自己的亲人做事一样。 第一个版式…

欠偏网,一个个性搞笑的网站

又完成一简网站,这个网站的页面不多,功能不多,主要是创意,一段时间我在想,现在什么样类型的网站都有人做了,网络已经没有什么别人没做过的东西了。这个欠偏网的制作让我改变了想法。网络还是有很多肉没人吃…

外文编码-一个cms网站设计制作

这个站制作的时候是很有激情的,搞seo的时候花了很多时间,初期的效果也很明显,只填了二十多篇文章,每天就有过百的点击率。不过搞SEO最累最可怕的并不是技术,而是填信息,要对每一篇文章都进行优化&#xff0…