开发文档

主页 > 开发文档 > 猿大师中间件IE标签页小程序开发文档

猿大师中间件IE标签页小程序开发文档

栏目:开发文档   日期:2021-04-22 15:34:53   浏览

猿大师中间件IE标签页小程序开发原理:

猿大师中间件IE标签页小程序基于猿大师中间件网络版开发,底层调用IE内核的ActiveX控件实现可程序化驱动的双内核浏览器。最低可用在Chrome 41、Firefox 50、Edge 80(Chromium内核)、360极速/安全、IE、Oprea 36、QQ等浏览器,也兼容运行于这些浏览器的最新版本。

1.猿大师中间件安装步骤:
 
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动猿大师中间件服务,在安装目录下的Data子目录有ZbaService.txt日志文件输出运行情况。
 
2、猿大师中间件IE标签页小程序控制相关接口:
 
说明:以下功能请通过Web Socket连接猿大师主服务(ws://localhost?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“猿大师开发者手册.doc”),请在连接地址中指定端口号进行连接。
 
HTTP网页在线测试:http://test.yuanmaster.com/ienewtab.html 
HTTPS网页在线测试:https://test.yuanmaster.com/ienewtab.html
 
1)、请求启动IE标签页小程序:
 
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Flag掩码标记:1指定标签页加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框  64根据标题避免重复加载相同的小程序
Title:标签页页时为创建的网页标题
Version 指定加载的IE版本,0不指定,比如9999是IE9标准模式 8888是IE8标准模式 8000是IE8兼容模式 7000是IE7 详细定义参考:https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)?redirectedfrom=MSDN#browser_emulation
X64:是否启动64位版
Open为需要用IE内核打开的Url实际地址或本地网页地址;
注意:Open和Url如果有特殊字符或中文等,需要用URL编码处理后传递
 
举例:
自动识别当前浏览器启动:
{"req":"Wrl_IETab","rid":6,"para":{"Type":"0","Flag":0,"Title":"IE Tab","Version":"0","X64":"0","Open":"http://xiuxiu.web.meitu.com/main.html"}}
 
浏览器当前页面启动演示
http://test.yuanmaster.com/IENewTab.html
 
启动后会先后收到三个JSON数据包
A、{"ret":0,"rid":1,"data":{"ID":1}}
代表小程序WS侦听服务就绪
B、{"event":"Wrl_Listen","aid":1,"data":{"SID":"123","PID":"IENewTab","port":980}}
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能,比如新打开一个网页。
返回ID为当前小程序运行ID,通过此ID,可执行Wrl_AppletControl命令。
C、{"event":"Wrl_AppletOK","aid":1,"data":{"SID":"123","PID":"IENewTab","Port":980}}
 
2)、请求控制IE标签页小程序:
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
ID为Wrl_IETab启动小程序时返回的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示。其中全屏显示2,可直接通过热键ESC或取消,4隐藏后可通过8恢复显示
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}
 
3、小程序安装、升级、卸载
1)、请求安装IE标签页小程序
请在输入框中,输入如下请求,然后点击发送,完成安装:
 
{"req":"Plugin_Install","rid":1,"para":{"Name":"IE标签页小程序","PID":"IENewTab","Date":"2021-03-27","Desc":"猿大师之上跨浏览器的IE标签页内嵌小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Net/IENewTab.pid","MD5":"B312EFFADE597D2FC3E8CC8EF1477571","Version":"2.1.3.1","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"8FC19E0E526A949CB1253EEB5568D995CD62134A9CFE598FBD9C3DF2CB6B869C4A4108DE261E384D04024C2FAFCF6E0FD99184F52FAB00A1EE5035FAF7891680BCB321983FC65E88D781D9A9A7BE9639314B1586D34034A5DAC37F667D95C88C4C68E116444304D2AA029C5EC184AB6F412F82E74F869E65BE81202F49CFF37606E70D94508E7363EDB3B0FBFDF52E869DB460B2FB304AAFF93C03A4C2C09B5A96E33A181FC9B2CB2320735983B9831224E8DA23F8DC6B608088F8944501372F9C4BC61B197C857AE0920F3A54AB6D6004C7097C2557E3FD8B2A9FB9168A8F1CA767B1510209B8A827365633DAD74892A225891440741E788F7934ED7AC40067"}}
 
启动安装后,会不断收到安装进度直到安装结束。
 
2)、请求升级IE标签页小程序:
 
{"req":"Plugin_Update","rid":1,"para":{"Name":"IE标签页小程序","PID":"IENewTab","Date":"2021-03-27","Desc":"猿大师之上跨浏览器的IE标签页内嵌小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Net/IENewTab_Update.pid","MD5":"513182CFDB1B18E3FAFF2A4069CBE923","Version":"2.1.3.1","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"2F2656AE61737605537CFB3B4C2F4E442FA20755CEE9EB4BA15B3BB1A01BAEDA417A10D311CAE6A4122997824EC901590665E993D925B54D3A72ACE4DD0CFB0B9C4128F16D8ED7972B96133EB4E87B0FFB0A0413CC2D99CD87120B134A68F8AF205D6BC3840CE04E85EA142A7199B9E9A72B1392D7EA63E6327CD918806A4D5F0B14ABC0A138B9DC31CC812D25F4DC3D720CC4C7306B4565463A5AA897FD2F0A1ED135C12DC0DA4AD7B6C6644AA5274606D45173031B56DD1B269CE7EBAD367CA554BAC6FDEFD6E91D4DB7324D4A343C88AC8885B11E815F3237BCC58A9B4756BC9AAC688525DAF58FD6B8ABD01DF7FC07AEA968C1DD58AE2C1B8AD9EEC8A17D"}}
 
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。 
 
3)、请求卸载IE标签页小程序:
 
{"req":"Plugin_Remove","rid":3,"para":{"PID":"IENewTab","Type":8}}
 
4、IE标签页小程序转调用ActiveX接口,先根据Wrl_IETab请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
A、常用功能请求:
1) 停止
请求:{"req":"IE_Stop","rid":50,"para":{}}
返回:{"ret":0,"rid":50,"data":{"Ret":"0"}}
ret为请求返回值,0正常,非零不正常,不正常时请取和ret同级的错误描述err,下同
Ret为调用ActiveX对应函数返回值,0代表正常
 
2) 刷新网页
请求:{"req":"IE_Refresh","rid":51,"para":{"Loop":"1"}}
返回:{"ret":0,"rid":51,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
 
3) 回退
请求:{"req":"IE_GoBack","rid":52,"para":{}}
返回:{"ret":0,"rid":52,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
 
4) 前进
请求:{"req":"IE_GoForward","rid":53,"para":{}}
返回:{"ret":0,"rid":53,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
 
5) 导航到主页
请求:{"req":"IE_GoHome","rid":54,"para":{}}
返回:{"ret":0,"rid":54,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
 
6) 导航到指定网页
Url为网页地址,需进行URLCode编码,如额外指定Type为0或具体的浏览器类型,代表用非IE浏览器新标签页来打开
请求:{"req":"IE_Navigate","rid":55,"para":{"Url":"http://www.baidu.com"}}
返回:{"ret":0,"rid":55,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
 
7) 请求执行脚本,必须等文档加载完成后
Code为需要执行的脚本内容
Language 脚本类型
请求:{"req":"IE_ExecScript","rid":56,"para":{"Code":"alert("hello");","Language":"javascript"}}
返回:{"ret":0,"rid":56,"data":{"Ret":"0","ScriptRet":""}}
Ret为调用返回值,0代表正常
ScriptRet执行脚本返回内容,只支持字符型,非字符型先用BASE64编码
 
8) 请求注入脚本,必须等文档加载完成后
Code为需要注入的脚本内容
请求:{"req":"IE_AddScript","rid":57,"para":{"Code":"alert("hello");"}}
返回:{"ret":0,"rid":57,"data":{"Ret":"0"}}
Ret为调用返回值,0代表正常
 
9) 请求调用脚本(已在打开的网页中),必须等文档加载完成后
FuncName脚本函数名称
Para函数参数
请求:{"req":"IE_InvokeScript","rid":58,"para":{"FuncName":"HelloWord","Para":["My","Name"]}}
返回:{"ret":0,"rid":58,"data":{"Ret":"0","FuncRet":""}}
Ret为调用返回值,0代表正常
FuncRet调用函数返回内容,只支持字符型,非字符型先用BASE64编码
 
10) 请求退出小程序
请求:{"req":"IE_Exit","rid":59,"para":{}}
 
5、事件通知:
A、IE控件事件
1) IE_BeforeNavigate 准备打开新的URL
{"event":"IE_BeforeNavigate","data":{"Url":""}} Url为新打开的URL地址
 
2) IE_NavigateComplete URL打开完成
{"event":"IE_NavigateComplete","data":{"Url":""}} Url为URL地址
 
3) IE_DocumentComplete URL文档加载完成
{"event":"IE_DocumentComplete","data":{"Url":""}} Url为URL地址
 
4) IE_NewNavigate 新窗口打开指定URL
{"event":"IE_NewNavigate","data":{"Url":"","Ret":0}} Url为新URL地址 Ret为打开结果
 
5) IE_ProgressChange 进度条进度通知
{"event":"IE_ProgressChange","data":{"Progress":0,"Max":0}} Progress当前进度 Max进度最大值
 
6) IE_SetSecureLockIcon 设置安全锁定图标
{"event":"IE_SetSecureLockIcon","data":{"SecureLockIcon":0}}
 
7) IE_StatusTextChange 状态变化
{"event":"IE_StatusTextChange","data":{"Status":""}} Status状态文字描述
 
8) IE_TitleChange 标题变化
{"event":"IE_TitleChange","data":{"Title":""}} Title 标题
 
9) IE_WindowClosing 窗口关闭
{"event":"IE_WindowClosing","data":{"ChildWindow":0}} ChildWindow是否子窗口
 
10) IE_CommandStateChange 命令状态变化
{"event":"IE_CommandStateChange","data":{"Command":0,"Enable":0}} Command命令ID,Enable是否启用
 
B、猿大师支持的事件通知:
 
1) IE_FullScreen 小程序是否响应了热键全屏
{"event":"IE_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
 
2) Wrl_AppletExit 小程序退出通知
{"event":"Wrl_AppletExit","data":{"ID":1}}
 
6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“猿大师开发者手册.doc”及“猿大师中间件安全解决方案”。
如还有疑问请直接联系客服。

收缩