CN111538553B - 双核Web桌面应用访问处理方法、装置及存储介质 - Google Patents

双核Web桌面应用访问处理方法、装置及存储介质 Download PDF

Info

Publication number
CN111538553B
CN111538553B CN202010317186.9A CN202010317186A CN111538553B CN 111538553 B CN111538553 B CN 111538553B CN 202010317186 A CN202010317186 A CN 202010317186A CN 111538553 B CN111538553 B CN 111538553B
Authority
CN
China
Prior art keywords
render
kernel
page
url address
browser 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
Application number
CN202010317186.9A
Other languages
English (en)
Other versions
CN111538553A (zh
Inventor
林俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Merchants Finance Technology Co Ltd
Original Assignee
China Merchants Finance Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Merchants Finance Technology Co Ltd filed Critical China Merchants Finance Technology Co Ltd
Priority to CN202010317186.9A priority Critical patent/CN111538553B/zh
Publication of CN111538553A publication Critical patent/CN111538553A/zh
Application granted granted Critical
Publication of CN111538553B publication Critical patent/CN111538553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种应用访问技术,揭露了一种双核Web桌面应用访问处理方法,该方法包括:通过Browser进程获取待打开页面对应的URL地址,并判断所述URL地址是否需要IE内核渲染;当需要IE内核渲染时,创建第一Render进程,并向第一Render进程传递所述URL地址及渲染类型参数;第一Render进程根据与Browser进程之间的数据交互创建IE内核,从而通过IE内核打开第一IE页面。本发明还揭露了一种电子装置及计算机可读存储介质。利用本发明,可以无缝切换IE内核和Chromium内核,为开发者提供兼容性更强的Web桌面应用架构。

Description

双核Web桌面应用访问处理方法、装置及存储介质
技术领域
本发明涉及应用访问技术领域,尤其涉及一种双核Web桌面应用访问处理方法、装置及计算机可读存储介质。
背景技术
目前业内WEB桌面应用构建框架代表是Electron平台,但此平台只有Chromium内核,不具备IE内核能力。当用户想要访问IE页面时,该框架无法实现。因此,现有框架对Web的兼容性覆盖度不够,影响了用户体验。
如何为开发者提供兼容性更强的WEB桌面应用架构,使其不仅支持Chromium内核访问,也能支持IE内核访问,成为一个亟待解决的技术问题。
发明内容
鉴于以上内容,本发明提供一种双核Web桌面应用访问处理方法、装置及计算机可读存储介质,其主要目的在于解决至少一个上述技术问题。
为实现上述目的,本发明提供一种双核Web桌面应用访问处理方法,该方法包括:
通过Chromium Browser进程获取待打开页面对应的URL地址,并判断所述URL地址是否需要IE内核渲染;
当所述URL地址需要IE内核渲染时,创建第一Render进程,并向所述第一Render进程传递所述URL地址及渲染类型参数;及
所述第一Render进程根据与所述Chromium Browser进程之间的数据交互创建IE内核,从而通过IE内核打开第一IE页面。
可选地,当从所述第一IE页面触发打开第二IE页面时,该方法还包括步骤:
Webbrowser控件触发NewWindow3,对当前进程Webbrowser COM组件进行散集处理;
通过第一Render进程的RenderFrame触发begin render for IE消息事件,并阻塞等待;
所述Chromium Browser进程接收到begin render for IE消息事件后创建第二Render进程,根据所述第二Render进程所述Chromium Browser进程和等待的所述Webbrowser控件、所述第一Render进程之间的数据交互,通过IE内核打开所述第二IE页面。
可选地,所述第一Render进程根据与所述Chromium Browser进程之间的数据交互创建IE内核,从而通过IE内核打开第一IE页面的步骤包括:
所述第一Render进程的Renderframe接收到所述Chromium Browser进程发出的IE_RENER_TYPE后,进行初始化操作,在完成后通知所述Chromium Browser进程,发送beginrender for IE命令,并携带所述URL地址;
所述Chromium Browser进程接收到begin render for IE命令后,创建主进程窗口,并将窗口hwnd句柄告知所述第一Render进程;
所述第一Render进程的RenderView接收到所述Chromium Browser进程指令,得到hwnd参数,创建Webbrowser实例,设置hwnd参数为父窗口;
所述RenderView开启detours模块监听所述Webbrowser实例,以监听IE内核访问过程response中的Cookie数据;
所述RenderView从所述Chromium Browser进程中的CookieMaster同步所述URL域下的所有Cookie数据,通过所述detours模块监控的InternetSetcookie设定初始化的Cookie数据;
所述RenderView通过Webbrowser Navigate2打开所述URL地址,开始通过IE内核处理所述URL地址的网络访问/渲染过程。
可选地,所述第一Render进程根据与所述Chromium Browser进程之间的数据交互创建IE内核,从而通过IE内核打开第一IE页面的步骤还包括:
所述detours模块在IE内核请求过程中监听Internetstatus,获取到response中所有的Cookie数据,并上报给所述Chromium Browser进程的CookieMaster进行保存。
可选地,所述Chromium Browser进程接收到begin render for IE消息事件后创建第二Render进程,根据所述第二Render进程所述Chromium Browser进程和等待的所述Webbrowser控件、所述第一Render进程之间的数据交互,通过IE内核打开所述第二IE页面的步骤包括:
所述Chromium Browser进程接收到begin render for IE消息事件后创建第二Render进程,并向所述第二Render进程发送begin render for IE命令;
所述第二Render进程的Renderframe接收到begin render for IE命令后,进行初始化操作,在完成后通知所述Chromium Browser进程,发送begin render for IE命令给所述Chromium Browser进程,并携带CREATE_IE类型参数;
所述Chromium Browser进程接收到begin render for IE命令后,创建主进程窗口,并将窗口hwnd句柄告知所述第二Render进程;
所述第二Render进程的RenderView接收到所述Chromium Browser进程指令,得到hwnd参数,创建新的Webbrowser实例,设置hwnd参数为父窗口,并且对所述ChromiumBrowser进程回传新的Webbrowser实例句柄;
所述Chromium Browser进程将新的Webbrowser实例句柄发送给所述第一Render进程;
所述第一Render进程接收到新的Webbrowser实例句柄,通知等待的所述Webbrowser控件;
等待的所述Webbrowser控件根据所述新的Webbrowser实例句柄进行相应处理,然后向所述Chromium Browser进程发送end render for IE命令和第二IE页面的URL地址;
所述Chromium Browser进程收到end render for IE命令后,通知所述第二Render进程,并携带第二IE页面的URL地址;
所述第二Render进程收到end render for IE命令后,所述第二Render进程的RenderView开启第二detours模块监听所述新的Webbrowser实例,以监听IE内核访问过程response中的Cookie数据;
所述RenderView从所述Chromium Browser进程中的CookieMaster同步所述第二IE页面的URL域下的所有Cookie数据,通过所述第二detours模块监控的InternetSetcookie设定初始化的Cookie数据;
所述RenderView通过Webbrowser Navigate2打开第二IE页面的URL地址,开始IE内核处理URL的网络访问/渲染过程。
可选地,所述根据所述第二Render进程所述Chromium Browser进程和等待的所述Webbrowser控件、所述第一Render进程之间的数据交互,通过IE内核打开所述第二IE页面的步骤还包括:
所述第二detours模块在IE内核请求过程中监听Internetstatus,获取到response中所有的Cookie数据,并上报给所述Chromium Browser进程的CookieMaster进行保存。
此外,为实现上述目的,本发明还提供一种电子装置,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的双核Web桌面应用访问处理系统,所述双核Web桌面应用访问处理系统被所述处理器执行时实现如上述的双核Web桌面应用访问处理方法的步骤。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有双核Web桌面应用访问处理系统,所述双核Web桌面应用访问处理系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的双核Web桌面应用访问处理方法的步骤。
本发明提出的双核Web桌面应用访问处理方法、电子装置及计算机可读存储介质可以基于Chromium内核与Webbrowser COM组件整合得到应用底层容器,使得容器支持Chrome和IE页面特性,对IE和Chromium的Web访问过程,Cookie拦截存取以及窗口体系的融合,做到无缝切换IE内核和Chromium内核,从而为开发者提供兼容性更强的Web桌面应用架构。
附图说明
图1为本发明双核Web桌面应用访问处理方法第一实施例的流程图;
图2为图1中步骤S30的细化流程图;
图3为本发明双核Web桌面应用访问处理方法第二实施例的流程图;
图4为图3中步骤S60的细化流程图;
图5为本发明电子装置较佳实施例的示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种双核Web桌面应用访问处理方法。
参阅图1所示,为本发明双核Web桌面应用访问处理方法第一实施例的流程图。在本实施例中,根据不同的需求,图1所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。该方法包括步骤:
S10,通过Chromium Browser进程获取待打开页面对应的URL地址,并判断该URL地址是否需要IE内核渲染。
具体地,当用户通过点击或者输入URL地址打开某个页面时,Chromium Browser进程打开该URL地址,通过预先设置的IE白名单判断该URL地址需要哪个内核(Chromium或IE)渲染此URL。当该URL地址需要Chromium内核渲染(为Chromium页面)时,直接按现有流程打开页面即可。当该URL地址需要IE内核渲染(首次打开IE页面)时,继续执行下述步骤。
S20,当该URL地址需要IE内核渲染时,创建Chromium Render进程,并向其传递该URL地址及渲染类型参数。
具体地,Browser进程创建RenderViewhostForIE,并将该URL地址以及渲染类型IE_RENDER_TYPE传递给Chromium Render进程(第一Render进程)。
S30,Render进程根据与Browser进程之间的数据交互创建IE内核,从而通过IE内核打开该页面(第一IE页面)。
具体地,参阅图2所示,为步骤S30的细化流程图。在本实施例中,步骤S30具体包括:
S300,Render进程的Renderframe接收到Browser进程发出的IE_RENER_TYPE后,进行初始化操作,在完成后通知Browser进程,并且准备使用IE内核渲染网页,发送beginrender for IE命令,并携带需要访问的URL地址。
S302,Browser进程接收到begin render for IE命令后,创建主进程窗口,并将窗口hwnd句柄告知Render进程,则Render进程可以开始创建IE内核。
S304,Render进程的RenderView接收到Browser进程指令,得到hwnd参数,创建Webbrowser实例,设置hwnd参数为父窗口。
S306,RenderView开启detours监听Webbrowser实例,用于监听IE内核访问过程response中的Cookie数据。
S308,RenderView从Browser进程中的CookieMaster同步该URL域下的所有Cookie数据,通过detours模块监控的InternetSetcookie设定初始化的Cookie数据。
S310,RenderView通过Webbrowser Navigate2打开需要访问的URL地址,开始通过IE内核处理URL的网络访问/渲染过程。
可选地,所述步骤S30还可以包括:
S312,detours模块在IE内核请求过程中监听Internetstatus,可获取到response中所有的Cookie数据,并上报给Browser进程CookieMaster保存起来,从而达到双核访问过程Cookie数据的一致性。
参阅图3所示,为本发明双核Web桌面应用访问处理方法第二实施例的流程图。本实施例中,所述双核Web桌面应用访问处理方法应用于从第一IE页面触发打开第二IE页面的场景。在第一实施例的基础上,所述双核Web桌面应用访问处理方法还包括以下步骤:
S40,Webbrowser控件触发NewWindow3,对当前进程Webbrowser COM组件进行散集处理。
具体地,当从第一IE页面触发打开第二IE页面(从IE内核渲染页面触发新进程打开新的IE内核渲染页面,例如用户在第一IE页面点击第二IE页面的链接)时,Webbrowser控件触发NewWindow3,对当前进程(对应第一IE页面)Webbrowser COM组件进行散集处理。
S50,通过第一Render进程的RenderFrame触发begin render for IE消息事件,并阻塞等待。
具体地,第一Render进程(用于打开第一IE页面)的RenderFrame触发beginrender for IE消息事件,发送至Browser进程,并阻塞等待。
S60,Browser进程接收到begin render for IE消息事件后创建第二Render进程,根据第二Render进程、Browser进程和等待的Webbrowser控件、第一Render进程之间的数据交互,通过IE内核打开该第二IE页面。
具体地,参阅图4所示,为步骤S60的细化流程图。在本实施例中,步骤S60具体包括:
S600,Browser进程接收到begin render for IE消息事件后创建第二Render进程,并向第二Render进程发送begin render for IE命令。
S602,第二Render进程的Renderframe接收到Browser进程发出的begin renderfor IE命令后,进行初始化操作,在完成后通知Browser进程,并且准备使用IE内核渲染网页,发送begin render for IE命令给Browser进程,并携带CREATE_IE类型参数。
S604,Browser进程接收到begin render for IE命令后,创建主进程窗口,并将窗口hwnd句柄告知准备好的第二Render进程,则第二Render进程可以开始创建IE内核。
S606,第二Render进程的RenderView接收到Browser进程指令,得到hwnd参数,创建新的Webbrowser实例,设置hwnd参数为父窗口,并且对Browser进程回传新的Webbrowser实例句柄。
S608,Browser进程将新的Webbrowser实例句柄发送给第一Render进程。
S610,第一Render进程接收到新的Webbrowser实例句柄,通知等待的Webbrowser控件。
S612,等待的Webbrowser控件根据所述新的Webbrowser实例句柄进行相应处理,然后向Browser进程发送end render for IE命令和需要访问的URL地址(第二IE页面的URL地址)。
具体地,该步骤包括:
(1)等待的Webbrowser控件NewWindow3中将*ppDisp通过新的Webbrowser实例句柄获取数据进行赋值;
(2)等待的Webbrowser控件将新的Webbrowser实例句柄进行列集;
(3)等待的Webbrowser控件在NewWindow3中将*Cancle设置为TRUE;
(4)等待的Webbrowser控件通过RenderFrame发起end render for IE命令,将需要访问的URL地址发给Browser进程。
S614,Browser进程收到end render for IE命令,通知第二Render进程,并携带需访问的URL地址。
S616,第二Render进程收到end render for IE命令后,RenderView将开启detours监听所述新的Webbrowser实例,用于监听IE内核访问过程response中的Cookie数据。
S618,RenderView从Browser进程中的CookieMaster同步此URL域下的所有Cookie数据,通过detours模块监控的InternetSetcookie设定初始化的Cookie数据。
S620,RenderView通过Webbrowser Navigate2打开需要访问的URL地址,开始IE内核处理URL的网络访问/渲染过程。
可选地,所述步骤S60还可以包括:
S622,detours模块在IE内核请求过程中监听Internetstatus,可获取到response中所有的Cookie数据,并上报给Browser进程CookieMaster保存起来,从而达到双核访问过程Cookie数据的一致性。
本发明还提出一种电子装置。参阅图5所示,为本发明提出的电子装置较佳实施例的示意图。
在本实施例中,电子装置1适用于上述双核Web桌面应用访问处理方法,所述电子装置1包括:存储器11、处理器12及网络接口13。
其中,所述电子装置1可以是服务器,也可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。所述服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,并且可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。存储器11在另一些实施例中也可以是所述电子装置1的外部存储设备,例如该电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括该电子装置1的内部存储单元也包括外部存储设备。
存储器11不仅可以用于存储安装于该电子装置1的应用软件及各类数据,例如,与所述双核Web桌面应用访问处理方法对应的双核Web桌面应用访问处理系统10的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如,与所述双核Web桌面应用访问处理方法对应的双核Web桌面应用访问处理系统10的程序代码等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。电子装置1的组件11-13通过通信总线相互通信。
图5仅示出了具有组件11-13的电子装置1,本领域技术人员可以理解的是,图5示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明之电子装置的具体实施方式与上述双核Web桌面应用访问处理方法的具体实施方式大致相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括与所述双核Web桌面应用访问处理方法对应的双核Web桌面应用访问处理系统10的程序代码,所述与所述双核Web桌面应用访问处理方法对应的双核Web桌面应用访问处理系统10的程序代码被处理器执行时实现如所述双核Web桌面应用访问处理方法的步骤。
本发明之计算机可读存储介质的具体实施方式与上述双核Web桌面应用访问处理方法的具体实施方式大致相同,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (5)

1.一种双核Web桌面应用访问处理方法,其特征在于,该方法包括:
通过Chromium Browser进程获取待打开页面对应的URL地址,并判断所述URL地址是否需要IE内核渲染;
当所述URL地址需要IE内核渲染时,创建第一Render进程,并向所述第一Render进程传递所述URL地址及渲染类型参数;
所述第一Render进程根据与所述Chromium Browser进程之间的数据交互创建IE内核,从而通过IE内核打开第一IE页面,包括:(a)所述第一Render进程的Renderframe接收到所述Chromium Browser进程发出的IE_RENER_TYPE后,进行初始化操作,在完成后通知所述Chromium Browser进程,发送begin render for IE命令,并携带所述URL地址;(b)所述Chromium Browser进程接收到begin render for IE命令后,创建主进程窗口,并将窗口hwnd句柄告知所述第一Render进程;(c)所述第一Render进程的RenderView接收到所述Chromium Browser进程指令,得到hwnd参数,创建Webbrowser实例,设置hwnd参数为父窗口;(d)所述RenderView开启detours模块监听所述Webbrowser实例,以监听IE内核访问过程response中的Cookie数据;(e)所述RenderView从所述Chromium Browser进程中的CookieMaster同步所述URL域下的所有Cookie数据,通过所述detours模块监控的InternetSetcookie设定初始化的Cookie数据;(f)所述RenderView通过WebbrowserNavigate2打开所述URL地址,开始通过IE内核处理所述URL地址的网络访问/渲染过程;(g)所述detours模块在IE内核请求过程中监听Internetstatus,获取到response中所有的Cookie数据,并上报给所述Chromium Browser进程的CookieMaster进行保存;及
当从所述第一IE页面触发打开第二IE页面时,Webbrowser控件触发NewWindow3,对当前进程Webbrowser COM组件进行散集处理;
通过所述第一Render进程的RenderFrame触发begin render for IE消息事件,并阻塞等待;
所述Chromium Browser进程接收到begin render for IE消息事件后创建第二Render进程,根据所述第二Render进程所述Chromium Browser进程和等待的所述Webbrowser控件、所述第一Render进程之间的数据交互,通过IE内核打开所述第二IE页面。
2.根据权利要求1所述的双核Web桌面应用访问处理方法,其特征在于,所述ChromiumBrowser进程接收到begin render for IE消息事件后创建第二Render进程,根据所述第二Render进程所述Chromium Browser进程和等待的所述Webbrowser控件、所述第一Render进程之间的数据交互,通过IE内核打开所述第二IE页面的步骤包括:
所述Chromium Browser进程接收到begin render for IE消息事件后创建第二Render进程,并向所述第二Render进程发送begin render for IE命令;
所述第二Render进程的Renderframe接收到begin render for IE命令后,进行初始化操作,在完成后通知所述Chromium Browser进程,发送begin render for IE命令给所述Chromium Browser进程,并携带CREATE_IE类型参数;
所述Chromium Browser进程接收到begin render for IE命令后,创建主进程窗口,并将窗口hwnd句柄告知所述第二Render进程;
所述第二Render进程的RenderView接收到所述Chromium Browser进程指令,得到hwnd参数,创建新的Webbrowser实例,设置hwnd参数为父窗口,并且对所述Chromium Browser进程回传新的Webbrowser实例句柄;
所述Chromium Browser进程将新的Webbrowser实例句柄发送给所述第一Render进程;
所述第一Render进程接收到新的Webbrowser实例句柄,通知等待的所述Webbrowser控件;
等待的所述Webbrowser控件根据所述新的Webbrowser实例句柄进行相应处理,然后向所述Chromium Browser进程发送end render for IE命令和第二IE页面的URL地址;
所述Chromium Browser进程收到end render for IE命令后,通知所述第二Render进程,并携带第二IE页面的URL地址;
所述第二Render进程收到end render for IE命令后,所述第二Render进程的RenderView开启第二detours模块监听所述新的Webbrowser实例,以监听IE内核访问过程response中的Cookie数据;
所述RenderView从所述Chromium Browser进程中的CookieMaster同步所述第二IE页面的URL域下的所有Cookie数据,通过所述第二detours模块监控的InternetSetcookie设定初始化的Cookie数据;
所述RenderView通过Webbrowser Navigate2打开第二IE页面的URL地址,开始IE内核处理URL的网络访问/渲染过程。
3.根据权利要求2所述的双核Web桌面应用访问处理方法,其特征在于,所述根据所述第二Render进程所述Chromium Browser进程和等待的所述Webbrowser控件、所述第一Render进程之间的数据交互,通过IE内核打开所述第二IE页面的步骤还包括:
所述第二detours模块在IE内核请求过程中监听Internetstatus,获取到response中所有的Cookie数据,并上报给所述Chromium Browser进程的CookieMaster进行保存。
4.一种电子装置,其特征在于,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的双核Web桌面应用访问处理程序,所述双核Web桌面应用访问处理程序被所述处理器执行时实现如下步骤:
通过Chromium Browser进程获取待打开页面对应的URL地址,并判断所述URL地址是否需要IE内核渲染;
当所述URL地址需要IE内核渲染时,创建第一Render进程,并向所述第一Render进程传递所述URL地址及渲染类型参数;及
所述第一Render进程根据与所述Chromium Browser进程之间的数据交互创建IE内核,从而通过IE内核打开第一IE页面,包括:(a)所述第一Render进程的Renderframe接收到所述Chromium Browser进程发出的IE_RENER_TYPE后,进行初始化操作,在完成后通知所述Chromium Browser进程,发送begin render for IE命令,并携带所述URL地址;(b)所述Chromium Browser进程接收到begin render for IE命令后,创建主进程窗口,并将窗口hwnd句柄告知所述第一Render进程;(c)所述第一Render进程的RenderView接收到所述Chromium Browser进程指令,得到hwnd参数,创建Webbrowser实例,设置hwnd参数为父窗口;(d)所述RenderView开启detours模块监听所述Webbrowser实例,以监听IE内核访问过程response中的Cookie数据;(e)所述RenderView从所述Chromium Browser进程中的CookieMaster同步所述URL域下的所有Cookie数据,通过所述detours模块监控的InternetSetcookie设定初始化的Cookie数据;(f)所述RenderView通过WebbrowserNavigate2打开所述URL地址,开始通过IE内核处理所述URL地址的网络访问/渲染过程;(g)所述detours模块在IE内核请求过程中监听Internetstatus,获取到response中所有的Cookie数据,并上报给所述Chromium Browser进程的CookieMaster进行保存;及
当从所述第一IE页面触发打开第二IE页面时,Webbrowser控件触发NewWindow3,对当前进程Webbrowser COM组件进行散集处理;
通过所述第一Render进程的RenderFrame触发begin render for IE消息事件,并阻塞等待;
所述Chromium Browser进程接收到begin render for IE消息事件后创建第二Render进程,根据所述第二Render进程所述Chromium Browser进程和等待的所述Webbrowser控件、所述第一Render进程之间的数据交互,通过IE内核打开所述第二IE页面。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有双核Web桌面应用访问处理程序,所述双核Web桌面应用访问处理程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-3中任一项所述的双核Web桌面应用访问处理方法的步骤。
CN202010317186.9A 2020-04-21 2020-04-21 双核Web桌面应用访问处理方法、装置及存储介质 Active CN111538553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010317186.9A CN111538553B (zh) 2020-04-21 2020-04-21 双核Web桌面应用访问处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010317186.9A CN111538553B (zh) 2020-04-21 2020-04-21 双核Web桌面应用访问处理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111538553A CN111538553A (zh) 2020-08-14
CN111538553B true CN111538553B (zh) 2023-04-18

Family

ID=71979132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010317186.9A Active CN111538553B (zh) 2020-04-21 2020-04-21 双核Web桌面应用访问处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111538553B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231088B (zh) * 2020-10-27 2023-10-27 Vidaa(荷兰)国际控股有限公司 一种浏览器进程优化方法及显示设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722559A (zh) * 2012-05-31 2012-10-10 奇智软件(北京)有限公司 一种异常页面的进程控制方法、装置和系统
WO2013166906A1 (zh) * 2012-05-07 2013-11-14 北京奇虎科技有限公司 一种基于Webkit内核提供网页浏览的方法及装置
CN104516885A (zh) * 2013-09-26 2015-04-15 腾讯科技(深圳)有限公司 浏览程序双内核组件的实现方法及装置
CN105160028A (zh) * 2015-09-30 2015-12-16 北京北大高科指纹技术有限公司 网页浏览实现方法和浏览器实现系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013166906A1 (zh) * 2012-05-07 2013-11-14 北京奇虎科技有限公司 一种基于Webkit内核提供网页浏览的方法及装置
CN102722559A (zh) * 2012-05-31 2012-10-10 奇智软件(北京)有限公司 一种异常页面的进程控制方法、装置和系统
CN104516885A (zh) * 2013-09-26 2015-04-15 腾讯科技(深圳)有限公司 浏览程序双内核组件的实现方法及装置
CN105160028A (zh) * 2015-09-30 2015-12-16 北京北大高科指纹技术有限公司 网页浏览实现方法和浏览器实现系统

Also Published As

Publication number Publication date
CN111538553A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN108376079B (zh) 自动应用更新
CN107085580B (zh) 客户端展示页面的方法及客户端
CN112114913B (zh) 应用程序的界面更新方法、装置、计算机设备和存储介质
EP2863281B1 (en) System and method to configure a field device
CN110020325B (zh) 页面加载方法、装置、设备及可读存储介质
CN111782339A (zh) 一种容器创建方法、装置、电子设备及存储介质
CN110795650A (zh) 网页开启方法、装置及计算机可读存储介质
CN111125057B (zh) 一种业务请求的处理方法、装置及计算机系统
CN111367518A (zh) 页面布局方法、装置、计算设备及计算机存储介质
CN111538553B (zh) 双核Web桌面应用访问处理方法、装置及存储介质
CN111625312A (zh) 一种app换肤方法、装置、电子设备及存储介质
CN111079048A (zh) 一种页面加载方法及装置
CN114661375A (zh) 应用集成方法及装置
CN103473035A (zh) 截屏方法和装置
CN108733370B (zh) 原生app的样式化显示方法、装置、终端及存储介质
CN115878226A (zh) 一种h5离线包加载方法及装置
CN114726905A (zh) 一种Tbox网络接入Android系统的方法、装置、设备及存储介质
CN114443460A (zh) 一种运行环境切换方法、装置、设备和存储介质
JP2010205184A (ja) 業務管理装置、業務管理方法、業務管理処理用プログラム
CN111090515A (zh) 一种访问控制方法、装置、终端设备及存储介质
CN113672225B (zh) 用户界面的处理方法、装置、设备及存储介质
CN113220507B (zh) 双主控系统的版本一致性检验方法及装置
JP2022012403A (ja) プログラム、情報処理装置及び制御方法
CN117056625A (zh) 显示方法及相关设备
CN112214712A (zh) 一种浏览器的自动切换方法、装置、存储介质及电子设备

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