ActiveX 是什么,和IE什么关系
在推出25年多以后,IE浏览器终于要退役了。 据外媒报道,微软决定自2022年6月15日起,让IE浏览器彻底退出互联网舞台,并全面改用Microsoft Edge浏览器。 关于IE的历史可以参考这篇文章 微软:别再使用IE浏览器了!! - 知乎 (zhihu.com)
对于一个BS网站的开发者来说,我们最关心的是,IE退役将给我们带来什么样的影响?
周一上午领导找我说,IE今年年底微软不再支持了,你看看咱们项目中有什么功能是依赖IE的?
1.前端不会受影响,专门写的兼容IE的样式或者js只能算作冗余,也不是bug,可以不理会;
2.百度发现:ActiveX控件是只支持IE的,这个得特别关注,有点懵,不了解。一顿乱搜之后,脑袋有点胀。
静静之后,梳理思路,还是从问题下手,搞清楚他是个什么东西,在项目中怎么使用,这才知道怎么找出ActiveX的引用。
1、ActiveX 是什么东西? 是用c++开发的可以运行Native代码的控件,安装到IE浏览器的加载项中。由于可以运行Native Code所以给客户端用户带来很大的安全隐患。
2、ActiveX用来干什么?实现一些额外的功能,如播放视频,音频,动画,以及读取其他特定的文件等
3、为什么其他浏览器不支持加载ActiveX? 因为其安全问题,其他浏览器更易于使用java applets 相对安全
ActiveX 是IE独有的控件, 微软的初衷是可以自动下载带有数字签名的ActiveX控件,不过并非所有的开发者都会申请数字证书,用户通过调整浏览器安全级别,浏览器可以自动下载ActiveX,因此带来了很多安全问题。
Chrome、Firefox和其他浏览器使用插件和扩展来完成ActiveX控件的功能
4、IE退役,如何找出我们项目中ActiveX的调用?
BS项目中ActiveX在浏览器调用的语法:
加载ActiveX的前端代码 <object id='myObj' classid='clsid:sdfasfasdf' ></object>
clsid对应的值可以在IE浏览器-管理加载项-工具栏和扩展中 找到你安装的ActiveX控件,双击显示的相信信息中 类ID对应
HTML <object> 元素(或者称作 HTML 嵌入对象元素)表示引入一个外部资源,这个资源可能是一张图片,一个嵌入的浏览上下文,亦或是一个插件所使用的资源。
MDN原文:请记住,大多数现代浏览器已经弃用并取消了对浏览器插件的支持,所以如果您希望您的网站可以在普通用户的浏览器上运行,那么依靠 <embed> 通常是不明智的。
参考:Why doesn't ActiveX work for Google Chrome and Mozilla Firefox? Other Browsers (activextest.com)
ActiveX的历史:
Netscape推出了NPAPI,给浏览器上打了洞,允许native代码运行,但是这个接口是很简陋的,只能用C开发,浏览器只负责加载插件,其它一切支持都没有,要插件自己搞定,作为扩展开发接口显然远远不够。
Sun推出了JavaApplet,一种用Java开发的浏览器嵌入式小应用平台,这个要好多了,起码有JVM和java api做支撑,开发起来容易多了,而且在Java虚拟机里运行也解决了用户对安全的顾虑,但是性能又成了问题。
微软选择的方案比较折中,ActiveX,它允许运行Native代码,可以用C++开发,几乎所有的WinAPI都可以用,甚至某些C++ Framework都能用,比如MFC ATL,在权限验证上有数字签名校验和一些简单的运行期权限验证。它选择了COM作为基础接口规范,只能和Windows、IE死死绑定,不过微软家的思路一向是“这个世界都应该用Windows,所以无需跨平台”
ActiveX 是什么,和IE什么关系的更多相关文章
- ActiveX、OLE和COM的关系(转自百度文档)
比较流行的组件模型有COM(Component Object Model,对象组件模型)/DCOM(Distributed COM,分布式对象组件模型)和CORBA(Common Object Req ...
- Activex、OLE、COM、OCX、DLL之间的区别(转)
熟悉面向对象编程和网络编程的人一定对ActiveX.OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的.在具体介绍它们的关系之间,我们还是先明确组件(Co ...
- Activex、OLE、COM、OCX、DLL之间有什么区别?
来源:http://www.blogjava.net/Jack2007/archive/2008/04/27/196392.html 熟悉面向对象编程和网络编程的人一定对ActiveX ...
- Activex、OLE、COM、OCX、DLL之间区别、联系[转]
转自:http://baike.baidu.com/view/393671.htm 创建COM:http://blog.csdn.net/henry000/article/details/700839 ...
- ActiveX 控件
一.ActiveX基础 1.1什么是ActiveX ActiveX是COM规范的一种实现,前身是OLE(Object Linking and Embedding).一般读成:ActiveX Ctron ...
- ActiveX、OLE和COM/DCOM
ActiveX:开放的集成平台 为开发人员. 用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法(就是提供了一个方法). 使用 Active ...
- IE加载项
加载项 加载项也称为ActiveX控件.浏览器扩展.浏览器帮助应用程序对象或工具栏,可以通过提供多媒体或交互式内容(如动画)来增强对网站的体验. 但是,某些加载项可导致计算机停止响应或显示不需要的 ...
- OCX组件
转自:http://blog.sina.com.cn/s/blog_4ca9ceef0100ixzb.html 一.OCX(OLE Control Extensio,OLE Object Linkin ...
- Python的扩展接口[2] -> 动态链接库DLL[0] -> 动态链接库及辅助工具
动态链接库 / Dynamic Link Library 目录 动态链接库简介 函数封装DLL 组件对象模型COM 如何判断.dll文件是COM还是DLL 辅助工具 1 动态链接库简介 / DLL I ...
随机推荐
- java-数据库操作(JDBC)
前言:JDBC用到的API和常用方法 DriverMannager类 加载驱动并创建与数据库的连接,通常使用Class类的静态方法forName()来实现加载驱动,使用getConnection(St ...
- VMware中Ubuntu18配置静态IP地址
1. VMware:编辑 -> 虚拟网络编辑器 -> 更改设置 2. 取消选中:使用本地DHCP服务将IP地址分配给虚拟机,并记住子网ip 3. 点击NAT设置,记住网关地址 正常情况下V ...
- python官网导航翻译
- 02编程语言与python介绍
编程语言分类 机器语言:直接用计算机能理解的二进制指令去编写程序,是直接在控制计算机硬件 优点:运行效率高 缺点:开发效率低 1.开发一个简单的小功能都要哟个到非常多条数的二进制指令 2.二进制指令非 ...
- CPU平均负载率之stress模拟CPU密集型进程
一.对CPU密集型进程进行模拟,具体如下: 第一个终端 在第一个终端运行 stress 命令,模拟一个 CPU 使用率 100% 的场景:stress --cpu 1 -- timeout 600 第 ...
- 渗透测试之本地文件包含(LFI)
一.本地文件包含 本地文件包含漏洞指的是包含本地的php文件,而通过PHP文件包含漏洞入侵网站,可以浏览同服务器所有文件,并获得webshell. 看见?page=标志性注入点,提示我们输入?=pag ...
- node + express 搭建服务器,修改为自动重启服务器
1.使用express搭建一个项目,步骤如下(安装node步骤已省略) a.全局安装express-generator和express npm i express-generator -g npm i ...
- centos7挂载U盘,查看U盘文件
.在根目录下创建挂载的目录:mkdir mnt/usb 2.查看U盘在系统中的命称:fdisk -l 3.使用mount命令挂载U盘:mount /dev/sdb1 mnt/usb,一半就是第一个 但 ...
- 数据分析工具那么多,掌握Smartbi这一个就够了!
经常听见有人问,数据分析用什么工具好? 被大家熟知的数据分析工具有很多,比如Excel.BI.R.Python--具体选择哪个这要看个人的需求,如果非要说哪个好,其中BI工具小编觉得"老少皆 ...
- 一图胜千言,想让数据产生影响力,必须拥有好上手的BI数据分析工具
当杂乱无章的数据,经过数据清洗后,得到了想用的数据,但是查看这些数据通过数据库只能看到数据本身,无法看到其中的规律,可以通过BI数据分析工具,图形化展示数据,使数据更形象化的展现在用户面前,更容易看出 ...