发布日期:2024-07-12 07:16 点击次数:93
配景先容
现在的浏览器阛阓,谷歌浏览器占据了半壁山河,因此,谷歌亦然最有言语权的,2015年驱动取消复旧 NPAPI 插件,2022 年10月住手复旧 PPAPI 插件;而已经老年老IE浏览器也已住手行状,退出历史舞台,导致大皆已经安全、方便的ActiveX插件无法使用。
技艺旨趣
插件容器精确定位,与页面全体布局无缝衔尾——通过不断征询谷歌、火狐源代码及浏览器H5技艺,咱们初度发现了一种页面元素定位适度插件容器窗口的顺序,不错收尾插件容器与页面全体布局无缝衔尾。中枢想路是在浏览器页面插入一个定位元素,通过H5技艺野心定位元素在浏览器页面的位置,然后将插件容器窗口放到定位元素位置。当页面缩放比例或大小发生变化时,重叠上述局势。如斯这般,即可收尾插件容器窗口与页面全体布局无缝衔尾。
原汁原味的插件接口调用步地——为了方便用户集成,减少用户学习的期间。通过大皆的锤真金不怕火,咱们收尾了通过javascript封装ActiveX或NPAPI原生接口,用户业务系统调用javascript封装类接口,就像调用浏览器ActiveX或NAPAI插件接口雷同,作念到用户业务系统小治愈,即可收尾业务系统升级检阅,后续咱们将通过VLC ActiveX 插件的例子进行教师。
一个容器复旧统统插件——咱们深切征询ActiveX插件、COM技艺及NPAPI插件旨趣,查阅谷歌、火狐等浏览器插件关联开源代码,攻坚克难,收尾了一个插件容器模范,加载统统ActiveX插件,无需为每个ActiveX插件提供不同的插件容器模范。
浏览器插件集成局势
allWebPlugin中间件与浏览器、插件联系图
业务系统调用PluginHostCnt创建allWebPlugin中间件,allWebPlugin中间件会镶嵌浏览器页面,并在里面孔器中创建客户ActiveX插件,凭证插件绚烂实例化JS封装类对象,收尾插件无缝镶嵌浏览器及插件接口的调用。
Javascript封装插件接口
使用javascript剧本对浏览器插件导出类的顺序和属性进行封装,方便后续网页调用插件接口。举例:针对axvlc插件,领先新建一个allWebVLC.js文献,凭证插件VLCPlugin2类,新建javascript的allWebVLCPlugin2(派生自NObject)类,并用javascript剧本封装插件VLCPlugin2类顺序和属性。(如下图所示)
引入关联allWebPlugin JS
为了页面加载插件,需要引入allWebPlugin.Common.js allWebPlugin.UI.js及插件封装js文献。举例,axvlc插件,需要引入allWebVLC.js插件封装js文献。如下图所示:
添加页面元素
在需要展示插件的位置添加canvas页面元素。如下图所示:
创建插件容器及插件
领先,实例化PluginHostCnt类,使用CreateContainer顺序创建插件容器子窗口,然后使用createPlugin接口创建插件,并实例化allWebVLCPlugin2类。
插件javascript封装类接口调用
插件对象创建生效之后,实例化插件javascript封装类对象。不错像传统插件接口调用雷同,调用插件javascript封装类对象的顺序和属性。如下图所示:
插件事件反应
为了反应插件事件,需要在插件创建时,注册待反应的插件事件,收尾插件反应函数。如下图所示:
剪辑
集成示例
请稽查本东说念主编写《allWebPlugin中间件+vlc ActiveX插件浏览器恶果展示》,示例下载地址:
不绝:https://pan.baidu.com/s/1AZbVbIDbbfsUq_q7F4E32w索要码:aihz
演示恶果
allWebPlugin中间件不仅适宜Chrome浏览器开云体育,况且还不错复旧火狐、Edge、360等浏览器,下图展示Chrome浏览器加载VLC播放视频恶果,接待人人下载试用。