CN111176752B - 一种浏览器页面内嵌窗口小程序的方法及装置 - Google Patents
一种浏览器页面内嵌窗口小程序的方法及装置 Download PDFInfo
- Publication number
- CN111176752B CN111176752B CN201911323165.1A CN201911323165A CN111176752B CN 111176752 B CN111176752 B CN 111176752B CN 201911323165 A CN201911323165 A CN 201911323165A CN 111176752 B CN111176752 B CN 111176752B
- Authority
- CN
- China
- Prior art keywords
- window
- applet
- browser
- page
- host process
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种浏览器页面内嵌窗口小程序的方法及装置:浏览器页面加载具有交互界面的窗口小程序时,浏览器向服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息;该服务进程根据该窗口小程序的相关信息启动该窗口小程序的宿主进程,向其发送该窗口小程序的相关信息及加载页面的属性信息;该窗口小程序的宿主进程根据该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面的窗口属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面,通过该服务进程推送该窗口小程序的运行状态到浏览器中;浏览器通过该窗口小程序的宿主进程对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作。实现了浏览器页面窗口小程序的内嵌运行效果。
Description
技术领域
本发明涉及浏览器扩展技术领域,特别是一种浏览器页面内嵌窗口小程序的方法及装置。
背景技术
浏览器是用来显示在万维网(Web)上的文字、图像及其他信息的应用软件,是用户在上网时经常使用的工具,它可以让用户与浏览器呈现的内容进行交互操作。
为了使得浏览器在显示网页时,不仅可以加载服务器端已经设置好的网页内容,而且还需要在网页中加载并显示来自非服务器端预设的内容,比如在网页中通过所嵌入的视频窗口播放本地计算机中配置的摄像头或来自网络的实时音视频,或者实现调用本地办公(Office)软件打开并编辑本地磁盘或来自网络的文档等这些浏览器未提供的功能,即为对浏览器的扩展。
为了在浏览器网页中加载并显示来自非服务器端预设的内容,实现对浏览器的扩展,通常采用浏览器自身提供的插件接口实现,比如微软公司的IE浏览器采用ActiveX控件方式,而谷歌公司的Chrome浏览器先后采用NPAPI及PPAPI插件方式等,浏览器将所支持的扩展插件从本地计算机中加载并显示到浏览器网页中指定的区域。但是因为安全等原因,基本上浏览器的默认配置主要考虑的是个人用户需求,对这些插件的下载、升级和运行都做了严格限制,尤其是ActiveX控件和PPAPI插件,需要手工在扩展插件使用过程中的每个步骤进行确认,导致用户体验度差。这对企业用户在使用本地计算机上运行的需要扩展支持的浏览器/服务器(B/S)***而言,其实施、维护成本大幅度增加。此外,不同浏览器厂商提供的浏览器插件接口互不兼容,导致开发难度大,周期长,发布的扩展程序包大多还需要访问浏览器厂商指定的网站下载到本地计算机才能运行,这些现状不能满足企业自主可控部署和安全调用的要求。
由于在IE浏览器是主流浏览器的时代,企业的B/S信息化***为了业务需要开发了大量的ActiveX控件,在Chrome浏览器的45版之前还可以用NPAPI插件技术来支持这些ActiveX控件的运行,然而Chrome、Firefox等浏览器在2015年开始取消了对NPAPI插件技术的支持,导致ActiveX控件及Java Applet等都无法继续在这些浏览器中使用。Chrome浏览器新推出的PPAPI插件技术未获得其它浏览器的支持,而且对分发和运行要求严格。ActiveX控件在Chrome、Firefox等高版本浏览器的兼容运行成为了技术难题,导致现在企业的很多B/S信息化***迟迟无法迁移到Chrome等内核浏览器中来正常使用。
目前,在Chrome浏览器中为了支持ActiveX控件的兼容运行,有通过PPAPI插件类型“application/x-ppapi”来实现的方法,但是这种方式严重依赖于PPAPI插件技术,其他厂商的浏览器也都不支持,而且只能通过命令行传参数方式重新启动浏览器才能加载运行,使用繁琐导致体验差;还有采用浏览器自定义的统一资源定位符(URL)协议方式启动本地计算机中设置的独立窗口程序进程来加载ActiveX控件实现,网页JavaScript脚本使用WebSocket来与本地计算机中设置的独立窗口程序进程通信,但因为其交互界面是独立窗口无法和网页窗口融为一体,用户体验不好。此外,此方案目前仅适用于在浏览器中使用超文本协议(HTTP)的网页,而对于使用安全超文本协议(HTTPS)的网页,由于WebSocket与本地计算机中设置的独立窗口程序进程建立通信连接时地址必须使用域名而非网际协议(IP)地址,导致使用HTTPS的网页成为了难题。
综上,在对浏览器进行扩展时,如何实现不依赖浏览器本身的扩展技术,特别是在浏览器页面中可内嵌有ActiveX控件的窗口小程序使用,并能满足自主可控部署及安全调用的要求,采用统一接口标准迅速开发及高效运行这些窗口小程序,从而大幅度提高用户体验和降低成本,是一个亟待急需解决的技术难题。
发明内容
有鉴于此,本发明实施例提供一种浏览器页面内嵌窗口小程序的方法,该方法能够在浏览器页面中实现窗口小程序的内嵌运行。
本发明实施例提供一种浏览器页面内嵌窗口小程序的装置,该装置能够保证内嵌窗口小程序安全且高效地在浏览器页面中运行。
本发明实施例是这样实现的:
一种浏览器页面内嵌窗口小程序的方法,包括:
浏览器页面加载具有交互界面的窗口小程序时,浏览器向设置的服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息;
该服务进程根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程,并向其发送该窗口小程序的相关信息及该加载页面的属性信息;
该窗口小程序的宿主进程接收该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,通过该服务进程推送该窗口小程序的运行状态到浏览器中;
浏览器收到该窗口小程序的运行状态后与该窗口小程序的宿主进程建立通信连接,通过该窗口小程序的宿主进程,对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作。
所述向设置的服务进程发送加载页面的属性信息和查询该窗口小程序的相关信息之前,该方法还包括:
服务进程在计算机***启动时自动运行,或在浏览器中通过自定义的统一资源定位符URL协议方式请求服务进程启动运行。
所述向设置的服务进程发送加载页面的属性信息和查询该窗口小程序的相关信息是通过建立网络套接字协议WebSocket通信连接和采用数据交换语言JSON的数据打包实现;
所述浏览器与设置的服务进程建立通信连接是使用WebSocket实现;
所述浏览器与该窗口小程序的宿主进程建立通信连接是使用WebSocket实现;
所述浏览器页面采用安全超文本HTTPS协议时,使用WebSocket实现包括:
修改本地计算机的hosts配置文件建立互联网域名与本地网际互连协议IP地址关联后,建立浏览器与服务进程,或与该窗口小程序的宿主进程之间的WebSocket通信连接;
或者使用互联网域名所关联的非本地服务器作为代理通信中介,接收并转发浏览器与服务进程,或与该窗口小程序的宿主进程之间的WebSocket通信数据。
所述服务进程根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程之前,还包括:
服务进程判断本地计算机中是否存在该窗口小程序及其宿主进程对应的程序文件:如果是,则该服务进程根据该窗口小程序的相关信息执行启动设置的该窗口小程序的宿主进程的步骤;如果否,则执行下载该窗口小程序及其宿主进程对应的程序文件的步骤后,再执行该服务进程根据该窗口小程序的相关信息执行启动设置的该窗口小程序的宿主进程的步骤。
所述对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面为:
将该窗口小程序的父窗口设置为该加载页面的窗口并按指定大小及顺序显示到指定位置;
所述通过该窗口小程序的宿主进程对在加载页面的窗口位置运行的该窗口小程序进行控制操作包括:
浏览器通过JavaScript脚本方式捕获加载页面窗口的操作信息后,使用WebSocket发送给该窗口小程序的宿主进程,然后该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息;
或者在该窗口小程序的宿主进程获取该加载页面的窗口句柄并基于此窗口句柄设置其窗口钩子以实时截获该窗口的操作信息,然后该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息。
一种浏览器页面内嵌窗口小程序的实现方法,包括:
浏览器页面加载具有交互界面的窗口小程序时,浏览器直接与设置的该窗口小程序的宿主进程固定端口建立通信连接,发送加载页面的属性信息并查询该窗口小程序的相关信息;
该窗口小程序的宿主进程接收该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,推送该窗口小程序的运行状态到浏览器中;
浏览器通过该窗口小程序的宿主进程,对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作。
所述浏览器与该窗口小程序的宿主进程之间是通过建立固定端口的网络套接字协议WebSocket通信连接和采用数据交换语言JSON的数据打包实现双向请求的执行;
所述浏览器与该窗口小程序的宿主进程固定端口建立通信连接是使用WebSocket实现;
所述浏览器页面采用安全超文本HTTPS协议时,使用WebSocket实现包括:
修改本地计算机的hosts配置文件建立互联网域名与本地IP地址关联后,建立浏览器与该窗口小程序的宿主进程之间的WebSocket通信连接;
或者使用互联网域名所关联的非本地服务器作为代理通信中介,接收并转发浏览器与该窗口小程序的宿主进程之间的WebSocket通信数据;
所述对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面为:
将该窗口小程序的父窗口设置为该加载页面的窗口并按指定大小及顺序显示到指定位置;
所述通过该窗口小程序的宿主进程对在加载页面的窗口位置运行的该窗口小程序进行控制操作包括:
浏览器通过JavaScript脚本方式捕获加载页面窗口的操作信息后,使用WebSocket发送给该窗口小程序的宿主进程,然后该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息;
或者在该窗口小程序的宿主进程获取该加载页面的窗口句柄并基于此窗口句柄设置其窗口钩子以实时截获该窗口的操作信息,然后该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息。
一种浏览器页面内嵌窗口小程序的装置,包括:浏览器单元、服务进程单元、宿主进程单元、小程序单元及安装引擎单元,其中,
浏览器单元,用于浏览器页面加载具有交互界面的窗口小程序时,向设置的服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息;与宿主进程单元中的该窗口小程序的宿主进程建立通信连接,以通过该窗口小程序的宿主进程对在浏览器页面中指定位置运行的该窗口小程序进行控制操作;
服务进程单元,用于根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程,并向其发送该窗口小程序的相关信息及加载页面的属性信息,根据该窗口小程序的本地安装状态决定是否启动安装引擎单元;
宿主进程单元,用于在服务进程单元的控制下根据该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据接收加载页面的属性信息调整该窗口小程序的运行状态适应于该页面后,通过该服务进程推送该窗口小程序的运行状态到浏览器中;
小程序单元,用于在浏览器页面指定位置和大小显示具有交互界面的内容窗口,通过宿主进程单元接收来自浏览器单元的控制请求并执行相应的操作,操作结果通过宿主进程单元通知到浏览器单元;
安装引擎单元,用于接收来自服务进程单元的该窗口小程序的安装或升级请求并执行,完成后再通知服务进程单元其运行结果。
一种浏览器页面内嵌窗口小程序的装置,包括:浏览器单元、宿主进程单元及小程序单元,其中,
浏览器单元,用于浏览器页面加载具有交互界面的窗口小程序时,直接与设置的该窗口小程序的宿主进程固定端口建立通信连接,给其发送加载页面的属性信息和该窗口小程序的相关信息;通过该窗口小程序的宿主进程对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作;
宿主进程单元,用于运行该窗口小程序的宿主进程,启动时建立固定端口的WebSocket服务端接收该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该小程序的运行状态适应于该加载页面后,推送其运行状态到浏览器中;
小程序单元,用于在浏览器页面指定位置和大小显示具有交互界面的内容窗口,通过宿主进程单元接收来自浏览器单元的控制请求并执行相应的操作,操作结果通过宿主进程单元通知到浏览器单元中。
如上所见,本发明实施例中的浏览器页面加载具有交互界面的窗口小程序时,浏览器向设置的服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息;该服务进程根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程,并向其发送该窗口小程序的相关信息及加载页面的属性信息;该窗口小程序的宿主进程接收该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,通过该服务进程推送该窗口小程序的运行状态到浏览器中;浏览器收到该窗口小程序的运行状态后与该窗口小程序的宿主进程建立通信连接,通过该窗口小程序的宿主进程即可对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作。这样,通过在本地计算机设置的服务进程对浏览器页面中运行窗口小程序的整个过程进行控制,然后该窗口小程序的宿主进程对该窗口小程序和浏览器窗口进行修改操作,就实现了浏览器页面窗口小程序的内嵌运行效果,安全且高效。
附图说明
图1为本发明实施例提供的一种浏览器页面内嵌窗口小程序的方法一流程图;
图2为本发明实施例提供的一种浏览器页面内嵌窗口小程序的装置一流程图;
图3为本发明实施例提供的浏览器页面内嵌窗口小程序的过程一示意图;
图4为本发明实施例提供的一种浏览器页面内嵌窗口小程序的方法二流程图;
图5为本发明实施例提供的一种浏览器页面内嵌窗口小程序的装置二流程图;
图6为本发明实施例提供的浏览器页面内嵌窗口小程序的过程二示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明实施例为了安全且高效地在浏览器页面内嵌窗口小程序,本发明实施例中的浏览器页面加载具有交互界面的窗口小程序时,浏览器向设置的服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息;该服务进程根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程,并向其发送该窗口小程序的相关信息及加载页面的属性信息;该窗口小程序的宿主进程接收该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,通过该服务进程推送该窗口小程序的运行状态到浏览器中;浏览器收到该窗口小程序的运行状态后与该窗口小程序的宿主进程建立通信连接,通过该窗口小程序的宿主进程即可对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作。
这样,通过在本地计算机设置的服务进程对浏览器页面运行窗口小程序的整个过程进行控制,然后该窗口小程序的宿主进程对该窗口小程序和浏览器窗口属性进行修改操作,就实现了浏览器页面窗口小程序的内嵌运行效果,安全且高效。由于采用了统一接口实现的浏览器扩展,既提高了用户使用体验,又大幅降低了扩展程序的开发难度,节省了开发时间。
在本发明实施例中,所述窗口小程序类似原来的JAVA Applet,可以在浏览器页面中按指定大小、顺序和位置内嵌运行并可与浏览器通过JavaScript脚本双向请求执行对应的操作。
图1为本发明实施例提供的一种浏览器页面内嵌窗口小程序的方法一流程图,其具体步骤为:
步骤101、浏览器页面加载具有交互界面的窗口小程序时,浏览器向设置的服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息;
步骤102、该服务进程根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程,并向其发送该窗口小程序的相关信息及加载页面的属性信息;
步骤103、该窗口小程序的宿主进程接收该窗口小程序的相关信息创建该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,通过该服务进程推送该窗口小程序的运行状态到浏览器中;
步骤104、浏览器收到该窗口小程序的运行状态后与该窗口小程序的宿主进程建立通信连接,通过该窗口小程序的宿主进程,对在浏览器页面中指定位置运行的该窗口小程序进行控制操作。
在该方法中,所述向设置的服务进程发送加载页面的属性信息和查询该窗口小程序的相关信息之前,该方法还包括:
服务进程在计算机***启动时自动运行,或在浏览器中通过自定义的URL协议方式请求其启动运行。在这里,服务进程对应的程序文件会提前安装到本地计算机中,该服务进程在计算机***启动时为达到自动运行目的可通过采用本地计算机***服务进程模式实现,不会弹出需要用户确认启动的交互对话框;而当该服务进程是本地计算机中的普通程序时,也可通过在本地计算机***中的注册表设置自动运行的项目实现;在浏览器中还可通过自定义URL协议方式请求启动该进程,也需要在本地计算机***中添加一些注册表项目,启动时会提示用户确认。
在该方法中,所述向设置的服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息是使用WebSocket实现。具体来说,在浏览器打开的超文本标记语言(HTML)网页中,需要在HTML的区隔标签(div)节点中加入一个唯一标识窗口小程序标识,以及窗口显示的位置和大小,在浏览器中的JavaScript脚本采用WebSocket作为客户端,在服务进程作为服务器,通过建立好的WebSocket连接,由浏览器将窗口小程序标识、窗口的位置和大小等属性使用JSON打包后通过WebSocket连接发送给该服务进程。
在该方法中,所述服务进程根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程之前,还包括:
服务进程判断本地计算机中是否存在该窗口小程序及其宿主进程对应的程序文件,如果是,则执行该服务进程根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程的步骤;如果否,则执行下载该窗口小程序及其宿主进程对应的程序文件并安装后,再执行该服务进程根据该窗口小程序的相关信息再执行启动设置的该窗口小程序的宿主进程的步骤。
其中,所述下载该窗口小程序包括:
该服务进程通过命令行参数方式启动该窗口小程序安装引擎进程;
该窗口小程序安装引擎进程将窗口小程序及其宿主进程对应的程序文件的下载请求发送到互联网的网络侧,接收到互联网的网络侧返回的窗口小程序及其宿主进程对应的程序文件安装包后,运行该窗口小程序的安装引擎进程对其进行解析后进行本地安装。
也就是说,在本地计算机中可以预装该窗口小程序安装引擎程序文件,当该服务进程发现本地计算机没有安装窗口小程序及其宿主程序文件时,则调用窗口小程序安装引擎进程执行从网络侧下载小程序及其宿主进程对应的程序文件安装包并安装,这样可以由该安装引擎进程控制整个安装过程,并校验安装包的合法性从而保证了在本地计算机中的安全性。
在该方法中,所述浏览器与该小程序的宿主进程建立通信连接是使用的WebSocket。
在该方法中,所述浏览器页面采用HTTPS协议时,使用WebSocket实现包括:修改本地计算机的hosts配置文件建立互联网域名与本地IP地址关联后,建立浏览器与服务进程,或与该窗口小程序的宿主进程之间的WebSocket通信连接;或者使用互联网域名所关联的非本地服务器作为代理通信中介,接收并转发浏览器与服务进程,或与该窗口小程序的宿主进程之间的WebSocket通信数据。具体地说,将HTTPS连接需要的安全套接层SSL证书通过加密方式发布到本地计算机缓存,并修改本地计算机的hosts配置文件中的代理设置将指定域名的代理IP指定为本地IP。也可以将互联网域名所关联的非本地服务器作为代理通信中介,接收并转发浏览器与服务进程,或与该窗口小程序的宿主进程之间的WebSocket通信数据来实现。
在该方法中,所述根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面为:将该窗口小程序的父窗口设置为加载页面的窗口并按指定大小及顺序显示到指定位置。这样,浏览器就可以通过该窗口小程序的宿主进程对在加载页面指定位置运行的该窗口小程序进行控制操作,从而完成浏览器页面窗口小程序的内嵌运行效果。
在该方法中,后续通过该窗口小程序的宿主进程对在加载页面的窗口位置运行的该窗口小程序进行控制操作包括:
浏览器通过JavaScript脚本方式捕获加载页面的窗口的操作信息后,操作信息诸如该窗口的放大、缩小、移动、刷新或关闭等操作,使用WebSocket发送给该窗口小程序的宿主进程,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息,比如确保该窗口小程序显示正确的大小和位置;
或者在该窗口小程序的宿主进程获取加载页面的窗口句柄并基于该窗口句柄设置其窗口钩子以实时截获该窗口的操作信息,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息。
图2为本发明实施例提供的一种浏览器页面内嵌窗口小程序的装置一流程图,包括:浏览器单元、服务进程单元、宿主进程单元、小程序单元及安装引擎单元,其中,
浏览器单元,用于浏览器页面加载具有交互界面的窗口小程序时,向设置的服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息;与宿主进程单元中的该窗口小程序的宿主进程建立通信连接,以通过该窗口小程序的宿主进程对在浏览器页面的窗口位置运行的该窗口小程序进行控制操作;
服务进程单元,用于根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程,并向其发送该窗口小程序的相关信息及加载页面的属性信息;
宿主进程单元,用于在服务进程单元的控制下根据该窗口小程序的相关信息创建该窗口小程序,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,通过该服务进程推送该窗口小程序的运行状态到浏览器中;
小程序单元,用于在浏览器页面指定位置和大小显示具有交互界面的内容窗口,通过宿主进程单元接收来自浏览器单元的控制请求并执行相应的操作,操作结果通过宿主进程单元通知到浏览器单元中;
安装引擎单元,用于窗口小程序的下载和安装,在所述服务进程的控制下运行该窗口小程序安装引擎进程,该窗口小程序安装引擎进程解析窗口小程序及其宿主进对应的程序文件进行本地安装,完成后再通知服务进程单元其运行结果。
所述安装引擎单元,将窗口小程序及其宿主程序文件的下载请求发送到互联网的网络侧,并接收互联网的网络侧返回的窗口小程序及其宿主程序安装包后,解析后安装。
举一个具体例子说明本发明实施例。
如图3所示,图3为本发明实施例提供的浏览器网页内嵌窗口小程序的过程一示意图,其具体过程为:
第一个步骤,在本地计算机中安装服务进程所对应的程序和小程序安装引擎进程;该服务进程在计算机***启动时自动运行,或在浏览器中通过自定义URL协议方式请求服务进程运行;
在本地计算机中安装宿主进程所对应的程序和窗口小程序,可以在安装服务进程和小程序部署时一起安装,也可以在浏览器所加载的JavaScript脚本中指定下载信息发送给服务进程后,由服务进程调用小程序安装引擎进程进行下载或升级;
第二步骤,在浏览器打开网页时,在HTML的div标签加入窗口小程序标识等属性信息,采用JavaScript脚本创建与服务进程之间的WebSocket连接,且将窗口小程序标识和加载页面的等属性信息通过JSON打包后发送给服务进程;
第三步骤,服务进程接收到JSON包后,在本地计算机查找是否有该加载页面的小程序及其宿主进程对应的程序文件存在,不存在时由服务进程从浏览器中获取到下载信息后,调用小程序安装引擎进程执行下载或升级;如果已存在,则启动该加载页面的小程序的宿主进程,并创建一个WebSocket的服务并返回侦听端口后转发给浏览器,该加载页面的小程序的宿主进程创建出该出窗口小程序并对浏览器对应窗口的属性进行修改操作,然后将该窗口小程序按指定大小及顺序显示到浏览器页面指定的位置,并设置小程序的父窗口为加载页面的窗口,该窗口小程序通过其宿主进程接收来自浏览器窗口的控制或绘制通知并执行对应操作;
第四个步骤,浏览器接收到该窗口小程序的宿主进程建立WebSocket的服务端口后,创建与该窗口小程序的宿主进程之间的WebSocket通信连接,完成浏览器与宿主进程之间的双向请求的执行。
第五个步骤,在浏览器中的JavaScript脚本捕获当前页面的放大、缩小、移动、刷新或关闭等操作后及时通知该窗口小程序的宿主进程,该窗口小程序的宿主进程进行对应的响应操作确保该窗口小程序在浏览器中正确显示指定的大小和位置;浏览器中的当前页面的放大、缩小、移动、刷新或关闭等操作的捕获方式,也可以通过在该窗口小程序的宿主进程中获得浏览器页面的窗口句柄并设置其窗口钩子实现,这种方式会更高效。
在本发明实施例中,本地计算机操作***使用微软公司的视窗(Windows)操作***,也不排除在Linux及衍生***、或者Android等手机***中实现,这里不限制。
本发明实施例中,WebSocket双方通信的数据,统一用约定规范的JSON技术进行打包,通信双方可以互相理解对方的含义并执行相应的操作。
举一个例子说明:
浏览器向服务进程发起请求:{"req":"Wrl_Version","rid":1,"para":{"Mac":0,"More":0}},服务进程解析此JSON请求得到Wrl_Version是请求的具体命令,para为请求的命令参数,然后服务进程回复给浏览器内容:{"ret":0,"rid":1,"data":{"Version":"1.2.1.1","Lang":"CHS","ValidDay":"2020-02-29",""Type":8,"OS":"6.2.9200.2","Win64":1,"UniID":"AF4D1A1623D03399E3E2F63449CF9B18","Time":5880520,"TickCount":822424437}},data为实际返回的请求数据。
在本发明实施例中,如果浏览器使用的是微软IE 10以下版本,其并不支持WebSocket连接。为了更好的兼容性,本发明实施例通过实现一个支持WebSocket连接的标准ActiveX控件,从而解决此兼容使用问题。
在本发明实施例中,小程序安装引擎进程启动时,可实现为无交互界面的静默运行模式,接收到浏览器发送给服务进程的安装或升级请求JSON包时,解析此包并执行下载并安装,完成后通知给服务进程,服务进程再通知到浏览器,然后服务进程完成启动窗口小程序的宿主进程,在浏览器中也可通过自定义的URL协议方式请求启动窗口小程序的宿主进程实现小程序的动态下载或升级使用。
图4为本发明实施例提供的一种浏览器页面内嵌窗口小程序的方法二流程图,其具体步骤为:
步骤401、浏览器页面加载具有交互界面的窗口小程序时,浏览器与设置的该窗口小程序的宿主进程建立固定端口的通信连接,发送加载页面的属性信息和该窗口小程序的相关信息;
步骤402、该窗口小程序的宿主进程根据该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,推送该窗口小程序的运行状态到浏览器中;
步骤403、浏览器通过该窗口小程序的宿主进程,对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作。
在该方法中,所述浏览器与该窗口小程序的宿主进程建立固定端口的通信连接是使用通过WebSocket实现;
在该方法中,在所述浏览器与该小程序的宿主进程建立通信连接之前,该方法还包括:
浏览器通过自定义的URL协议方式请求该窗口小程序的宿主进程启动运行,也可通过在本地计算机***中的注册表设置自动运行的项目实现。
在该方法中,所述浏览器页面采用HTTPS协议时,使用WebSocket实现包括:
修改本地计算机的hosts配置文件建立浏览器域名与本地IP地址的关联后,建立浏览器与该窗口小程序的宿主进程之间的WebSocket连接;或者使用互联网域名所关联的非本地服务器作为代理通信中介,接收并转发浏览器与该窗口小程序的宿主进程之间的WebSocket通信数据。
在该方法中,所述根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面为:将该窗口小程序的父窗口设置为该加载页面的窗口并按指定大小及顺序显示到指定位置。
所述通过该窗口小程序的宿主进程对在加载页面指定位置运行的该窗口小程序进行控制操作包括:
浏览器通过JavaScript脚本捕获加载页面窗口的操作信息后,使用WebSocket发送给该窗口小程序的宿主进程,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息;
或者在该窗口小程序的宿主进程中获取该加载页面的句柄并设置其窗口钩子实时截获该窗口的操作信息,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息。
图5为本发明实施例提供的一种浏览器页面内嵌窗口小程序的装置二流程图,包括:浏览器单元、宿主进程单元及小程序单元,其中,
浏览器单元,用于页面加载具有交互界面的窗口小程序时,与设置的该窗口小程序的宿主进程固定端口建立通信连接,发送加载页面的属性信息并查询该窗口小程序的相关信息;通过该窗口小程序的宿主进程对在浏览器加载页面中指定位置运行的该窗口小程序进行修改操作;
宿主进程单元,用于运行该窗口小程序的宿主进程,该窗口小程序的宿主进程接收该窗口小程序的相关信息创建出该窗口小程序并对浏览器对应窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,推送该窗口小程序的运行状态到浏览器中;
小程序单元,用于在浏览器页面指定位置和大小显示具有交互界面的内容窗口,通过宿主进程单元接收来自浏览器单元的控制请求并执行相应的操作,操作结果通过宿主进程单元通知到浏览器单元中。
举一个具体例子说明,图6为本发明实施例提供的浏览器页面内嵌窗口小程序的过程二示意图:
第一步骤,浏览器页面加载具有交互界面的窗口小程序时,采用自定义URL协议方式启动设置的该窗口小程序的宿主进程,并与其建立通信连接,发送该窗口小程序的相关信息及加载页面属性信息给该窗口小程序的宿主进程;
第二步骤,小程序的宿主进程接收该小程序的相关信息创建出该小程序并对浏览器对应窗口的属性进行修改操作,根据加载页面的属性信息调整该小程序的运行状态适应于该加载页面后,推送该小程序的运行状态到浏览器中,由浏览器的JavaScript脚本直接对该窗口小程序进行控制操作。
在本发明实施例中,本地计算机所设置的窗口小程序的宿主进程可以有多个,分别接受服务进程的控制,或分别直接与浏览器进行通信。
在本发明实施例中,本地计算机所设置的窗口小程序根据类型不同可以设置为多个,统一接受窗口小程序的宿主进程管理。
可以看出,本发明实施例提供了一种在浏览器页面中完全不依赖各浏览器自身扩展技术的内嵌窗口小程序运行的通用方法,浏览器中只需要使用JavaScript脚本通过WebSocket即可对窗口小程序进行操作,窗口小程序可用主流的计算机编程语言如C++、C#、Delphi、VB等进行开发。采用本发明实施例可大大降低浏览器扩展的开发难度、提高开发效率、改进用户体验,从而大幅度节省成本;本发明实施例浏览器页面的窗口小程序内嵌运行体验可与原ActiveX控件和JAVA Applet等方式实现的效果相媲美,为彻底替代ActiveX控件和JAVA Applet等提供可行的技术方案;本发明实施例采用窗口小程序沙盒化运行的安全机制,以确保其可控按需加载使用,即使窗口小程序崩溃也不会影响到浏览器自身的正常运行,也不会获得特别的运行权限而影响本地计算机***的安全,从而可解决现有浏览器插件的安全和稳定性缺陷;本发明实施例的装置可实现窗口小程序的统一下载、安装、升级及运行控制,窗口小程序的后台下载服务器可由客户指定,满足企业安全可控的部署要求;本发明实施例提供了可支持HTTPS网页的WebSocket连接本地服务进程的方法;本发明实施例提供了一种使用WebSocket和JSON即可实现与计算机编程语言无关的功能无限扩展的方法,WebSocket提供通信基础设施,而所有请求和回复数据都用JSON按约定规范打包,即可实现功能的无限扩展,只需要请求方和接收方对JSON内容协商一致即可;本发明实施例通过在IE 10以下版本中实现了一个支持WebSocket连接的标准ActiveX控件,从而提高了此技术方案的浏览器兼容性。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种浏览器页面内嵌窗口小程序的方法,其特征在于,包括:
浏览器页面加载具有交互界面的窗口小程序时,浏览器使用网络套接字协议WebSocket实现向设置的服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息;
该服务进程根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程,并向其发送该窗口小程序的相关信息及该加载页面的属性信息;
该窗口小程序的宿主进程接收该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,通过该服务进程推送该窗口小程序的运行状态到浏览器中;其中,所述根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面为:将该窗口小程序的父窗口设置为加载页面的窗口并按指定大小及顺序显示到指定位置;
浏览器收到该窗口小程序的运行状态后与该窗口小程序的宿主进程建立通信连接,通过该窗口小程序的宿主进程,对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作,其中,所述对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作包括:浏览器通过JavaScript脚本方式捕获加载页面的窗口的操作信息后,使用WebSocket发送给该窗口小程序的宿主进程,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息,或者在该窗口小程序的宿主进程获取加载页面的窗口句柄并基于该窗口句柄设置其窗口钩子以实时截获该窗口的操作信息,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息。
2.如权利要求1所述的方法,其特征在于,所述向设置的服务进程发送加载页面的属性信息和查询该窗口小程序的相关信息之前,该方法还包括:
服务进程在计算机***启动时自动运行,或在浏览器中通过自定义的统一资源定位符URL协议方式请求服务进程启动运行。
3.如权利要求1所述的方法,其特征在于,所述使用WebSocket实现向设置的服务进程发送加载页面的属性信息和查询该窗口小程序的相关信息是通过建立WebSocket通信连接和采用数据交换语言JSON的数据打包实现;
所述浏览器与设置的服务进程建立通信连接是使用WebSocket实现;
所述浏览器与该窗口小程序的宿主进程建立通信连接是使用WebSocket实现;
所述浏览器页面采用安全超文本HTTPS协议时,使用WebSocket实现包括:
修改本地计算机的hosts配置文件建立互联网域名与本地网际互连协议IP地址关联后,建立浏览器与服务进程,或与该窗口小程序的宿主进程之间的WebSocket通信连接;
或者使用互联网域名所关联的非本地服务器作为代理通信中介,接收并转发浏览器与服务进程,或与该窗口小程序的宿主进程之间的WebSocket通信数据。
4.如权利要求1所述的方法,其特征在于,所述服务进程根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程之前,还包括:
服务进程判断本地计算机中是否存在该窗口小程序及其宿主进程对应的程序文件:如果是,则该服务进程根据该窗口小程序的相关信息执行启动设置的该窗口小程序的宿主进程的步骤;如果否,则执行下载该窗口小程序及其宿主进程对应的程序文件的步骤后,再执行该服务进程根据该窗口小程序的相关信息执行启动设置的该窗口小程序的宿主进程的步骤。
5.一种浏览器页面内嵌窗口小程序的实现方法,其特征在于,包括:
浏览器页面加载具有交互界面的窗口小程序时,浏览器使用WebSocket实现直接与设置的该窗口小程序的宿主进程固定端口建立通信连接,发送加载页面的属性信息并查询该窗口小程序的相关信息;
该窗口小程序的宿主进程接收该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面后,推送该窗口小程序的运行状态到浏览器中,其中,所述根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面为:将该窗口小程序的父窗口设置为加载页面的窗口并按指定大小及顺序显示到指定位置;
浏览器通过该窗口小程序的宿主进程,对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作,其中,所述对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作包括:浏览器通过JavaScript脚本方式捕获加载页面的窗口的操作信息后,使用WebSocket发送给该窗口小程序的宿主进程,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息,或者在该窗口小程序的宿主进程获取加载页面的窗口句柄并基于该窗口句柄设置其窗口钩子以实时截获该窗口的操作信息,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息。
6.如权利要求5所述的方法,其特征在于,所述浏览器使用WebSocket实现直接与该窗口小程序的宿主进程之间是通过建立固定端口的WebSocket通信连接和采用数据交换语言JSON的数据打包实现双向请求的执行;
所述浏览器与该窗口小程序的宿主进程固定端口建立通信连接是使用WebSocket实现;
所述浏览器页面采用安全超文本HTTPS协议时,使用WebSocket实现包括:
修改本地计算机的hosts配置文件建立互联网域名与本地IP地址关联后,建立浏览器与该窗口小程序的宿主进程之间的WebSocket通信连接;
或者使用互联网域名所关联的非本地服务器作为代理通信中介,接收并转发浏览器与该窗口小程序的宿主进程之间的WebSocket通信数据。
7.一种浏览器页面内嵌窗口小程序的装置,其特征在于,包括:浏览器单元、服务进程单元、宿主进程单元、小程序单元及安装引擎单元,其中,
浏览器单元,用于浏览器页面加载具有交互界面的窗口小程序时,使用WebSocket实现向设置的服务进程发送加载页面的属性信息并查询该窗口小程序的相关信息;与宿主进程单元中的该窗口小程序的宿主进程建立通信连接,以通过该窗口小程序的宿主进程对在浏览器页面中指定位置运行的该窗口小程序进行控制操作;其中,所述对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作包括:浏览器通过JavaScript脚本方式捕获加载页面的窗口的操作信息后,使用WebSocket发送给该窗口小程序的宿主进程,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息,或者在该窗口小程序的宿主进程获取加载页面的窗口句柄并基于该窗口句柄设置其窗口钩子以实时截获该窗口的操作信息,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息;
服务进程单元,用于根据该窗口小程序的相关信息启动设置的该窗口小程序的宿主进程,并向其发送该窗口小程序的相关信息及加载页面的属性信息,根据该窗口小程序的本地安装状态决定是否启动安装引擎单元;
宿主进程单元,用于在服务进程单元的控制下根据该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据接收加载页面的属性信息调整该窗口小程序的运行状态适应于该页面后,通过该服务进程推送该窗口小程序的运行状态到浏览器中;其中,所述根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面为:将该窗口小程序的父窗口设置为加载页面的窗口并按指定大小及顺序显示到指定位置;
小程序单元,用于在浏览器页面指定位置和大小显示具有交互界面的内容窗口,通过宿主进程单元接收来自浏览器单元的控制请求并执行相应的操作,操作结果通过宿主进程单元通知到浏览器单元;
安装引擎单元,用于接收来自服务进程单元的该窗口小程序的安装或升级请求并执行,完成后再通知服务进程单元其运行结果。
8.一种浏览器页面内嵌窗口小程序的装置,其特征在于,包括:浏览器单元、宿主进程单元及小程序单元,其中,
浏览器单元,用于浏览器页面加载具有交互界面的窗口小程序时,使用WebSocket实现直接与设置的该窗口小程序的宿主进程固定端口建立通信连接,给其发送加载页面的属性信息和该窗口小程序的相关信息;通过该窗口小程序的宿主进程对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作;其中,所述对在浏览器加载页面中指定位置运行的该窗口小程序进行控制操作包括:浏览器通过JavaScript脚本方式捕获加载页面的窗口的操作信息后,使用WebSocket发送给该窗口小程序的宿主进程,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息,或者在该窗口小程序的宿主进程获取加载页面的窗口句柄并基于该窗口句柄设置其窗口钩子以实时截获该窗口的操作信息,该窗口小程序的宿主进程控制该窗口小程序的行为适应于该操作信息;
宿主进程单元,用于运行该窗口小程序的宿主进程,启动时建立固定端口的WebSocket服务端接收该窗口小程序的相关信息创建出该窗口小程序并对浏览器页面窗口的属性进行修改操作,根据加载页面的属性信息调整该小程序的运行状态适应于该加载页面后,推送其运行状态到浏览器中;其中,所述根据加载页面的属性信息调整该窗口小程序的运行状态适应于该加载页面为:将该窗口小程序的父窗口设置为加载页面的窗口并按指定大小及顺序显示到指定位置;
小程序单元,用于在浏览器页面指定位置和大小显示具有交互界面的内容窗口,通过宿主进程单元接收来自浏览器单元的控制请求并执行相应的操作,操作结果通过宿主进程单元通知到浏览器单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911323165.1A CN111176752B (zh) | 2019-12-20 | 2019-12-20 | 一种浏览器页面内嵌窗口小程序的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911323165.1A CN111176752B (zh) | 2019-12-20 | 2019-12-20 | 一种浏览器页面内嵌窗口小程序的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176752A CN111176752A (zh) | 2020-05-19 |
CN111176752B true CN111176752B (zh) | 2023-05-16 |
Family
ID=70657607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911323165.1A Active CN111176752B (zh) | 2019-12-20 | 2019-12-20 | 一种浏览器页面内嵌窗口小程序的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176752B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930452B (zh) * | 2020-06-30 | 2023-12-08 | 龙芯中科(合肥)技术有限公司 | 浏览器语言包加载方法、浏览器、电子设备及储存介质 |
CN111880946B (zh) * | 2020-07-14 | 2024-04-19 | 杭州海康威视数字技术股份有限公司 | 本地服务提供方法、装置及设备、存储介质 |
CN112218168A (zh) * | 2020-09-16 | 2021-01-12 | 青岛海信网络科技股份有限公司 | 一种浏览器播放视频的方法及装置 |
CN112380094B (zh) * | 2020-11-16 | 2023-07-04 | 金蝶云科技有限公司 | 一种rpa业务流程处理方法及装置 |
CN112650601B (zh) * | 2020-12-25 | 2023-08-11 | 百度在线网络技术(北京)有限公司 | 跨宿主打开小程序的方法、装置、设备、存储介质和程序 |
CN113111283B (zh) * | 2021-02-23 | 2023-11-10 | 北京联合信任技术服务有限公司 | 取证服务器及其方法、存储介质和程序产品 |
CN112558985B (zh) * | 2021-02-23 | 2021-08-27 | 鲁班(北京)电子商务科技有限公司 | 子应用部署方法和装置 |
CN113391856B (zh) * | 2021-06-25 | 2022-04-15 | 北京字节跳动网络技术有限公司 | 跨任务栈的页面处理方法、装置、设备及介质 |
CN113590116A (zh) * | 2021-08-05 | 2021-11-02 | 江西金格科技股份有限公司 | 一种在OA***中基于BS模式非嵌入式使用Office的方法 |
CN114020490A (zh) * | 2021-08-30 | 2022-02-08 | 统信软件技术有限公司 | 一种进程间通信***、方法及计算设备 |
CN114710708B (zh) * | 2022-03-14 | 2024-04-02 | 武汉虹信技术服务有限责任公司 | 一种宿住C/S宿主程序的Web播放监控视频的方法及*** |
CN115080165A (zh) * | 2022-06-28 | 2022-09-20 | 湖南快乐阳光互动娱乐传媒有限公司 | 小程序处理方法、装置、存储介质和移动终端 |
CN116798167A (zh) * | 2023-08-25 | 2023-09-22 | 广东星云开物科技股份有限公司 | 共享娱乐设备启动方法、***及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034517A (zh) * | 2012-12-14 | 2013-04-10 | 北京奇虎科技有限公司 | 浏览器控制工具加载方法和装置 |
CN109343906A (zh) * | 2018-10-15 | 2019-02-15 | 江西金格科技股份有限公司 | 一种浏览器加载ActiveX控件的方法 |
CN110083789A (zh) * | 2019-04-29 | 2019-08-02 | 百度在线网络技术(北京)有限公司 | 一种小程序页面获取方法、服务器、客户端及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007102823A1 (en) * | 2006-03-09 | 2007-09-13 | Vasco Data Security International, Inc. | Digipass for the web-functional description |
-
2019
- 2019-12-20 CN CN201911323165.1A patent/CN111176752B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034517A (zh) * | 2012-12-14 | 2013-04-10 | 北京奇虎科技有限公司 | 浏览器控制工具加载方法和装置 |
CN109343906A (zh) * | 2018-10-15 | 2019-02-15 | 江西金格科技股份有限公司 | 一种浏览器加载ActiveX控件的方法 |
CN110083789A (zh) * | 2019-04-29 | 2019-08-02 | 百度在线网络技术(北京)有限公司 | 一种小程序页面获取方法、服务器、客户端及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111176752A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176752B (zh) | 一种浏览器页面内嵌窗口小程序的方法及装置 | |
JP5389829B2 (ja) | リモートリソースのウェブアクセスのためのxmlベースのウェブフィード | |
US8056125B2 (en) | Recording medium storing control program and communication system | |
CN107015870B (zh) | 实现web页面与本地应用通信的方法、装置和电子设备 | |
WO2016124013A1 (zh) | 一种用于动态实现应用功能的方法和装置 | |
EP2806357A1 (en) | Method and communication device for updating a web application | |
EP3782061B1 (en) | System and method to securely execute datacenter management operations remotely | |
WO2019015272A1 (zh) | 信息处理方法和装置 | |
US20230205503A1 (en) | Method for dynamically integrating application programs, and software system and machine using the same | |
CN103825783A (zh) | 一种测试方法及装置 | |
US20210218828A1 (en) | Method for Starting Application Client, Service Server, and Client Device | |
US20160011864A1 (en) | Development of Platform Independent Applications | |
CN112416453B (zh) | 一种面向信创环境下国产化外部设备统一数据集成的方法和存储设备 | |
US20230123054A1 (en) | Browser-driven capture of application installations for application virtualization | |
CN113835911B (zh) | 内网穿透代理方法、***、主机及计算机可读存储介质 | |
CN109194742B (zh) | 一种虚拟机控制台的连接方法、装置及存储介质 | |
CN112468611B (zh) | 应用程序启动方法、终端设备及计算机存储介质 | |
US20170060112A1 (en) | Control program for accessing browser data and for controlling appliance | |
CN113641581A (zh) | 混合模式移动应用调试方法及*** | |
CN112491940B (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
JP5535184B2 (ja) | ブラウザ実行スクリプト変換システムおよびブラウザ実行スクリプト変換プログラム | |
US7860987B2 (en) | Apparatus for providing service in response to user request and method therefor | |
WO2010032558A1 (ja) | プログラム入手・実行クライアント、プログラム入手・実行方法および記録媒体 | |
CN115758334A (zh) | 云应用的访问方法、装置、电子设备及存储介质 | |
KR100924076B1 (ko) | 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션구현방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |