CN111625303A - 事件处理方法、装置、设备及可读存储介质 - Google Patents

事件处理方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN111625303A
CN111625303A CN201910146341.2A CN201910146341A CN111625303A CN 111625303 A CN111625303 A CN 111625303A CN 201910146341 A CN201910146341 A CN 201910146341A CN 111625303 A CN111625303 A CN 111625303A
Authority
CN
China
Prior art keywords
event
target
webpage
user operation
web page
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.)
Granted
Application number
CN201910146341.2A
Other languages
English (en)
Other versions
CN111625303B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910146341.2A priority Critical patent/CN111625303B/zh
Publication of CN111625303A publication Critical patent/CN111625303A/zh
Application granted granted Critical
Publication of CN111625303B publication Critical patent/CN111625303B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种事件处理方法、装置、设备及可读存储介质。该方法包括:接收到实施在嵌入有目标组件的目标网页上的用户操作事件时,确定用户操作事件是否是与目标组件对应的事件;当确定用户操作事件与目标组件对应的事件时,将用户操作事件派发给目标组件处理,获取用户操作事件的处理结果;根据用户操作事件的处理结果,展示目标网页。

Description

事件处理方法、装置、设备及可读存储介质
技术领域
本发明涉及本发明涉及网络技术领域,更具体地,涉及一种事件处理方法、装置、设备及可读存储介质。
背景技术
基于WebView(网页视图)实现加载、绘制、渲染并展示的网页,能展示丰富多样的网页内容以及绚烂多变的视觉效果。而随着用户对网页展示的需求日趋多样化,用户期望网页能实现一些更复杂的功能(例如添加一个地图),并且期望这些复杂功能的实现能具有媲美基于操作系统提供的Native(原生)组件的优异性能,因此需要通过在网页中嵌入Native组件使用,以实现对应的功能。
而对于嵌入Native组件的网页,嵌入的Native组件作为该网页的一个网页元素进行呈现,但是网页中包括的网页元素的相关事件通常是基于网页的DOM(Document ObjectModel,文档对象模型)事件处理流程来处理,而Native组件的相关事件通常是按照支持Native组件的操作系统的系统事件处理流程来处理,网页元素与Native组件对于对应的相关事件的处理分属不同的事件处理流程。
因此,如何对用户实施在嵌入Native组件的网页上的用户操作事件(例如触摸、点击、滑动操作等)进行协调处理,是有效实现在网页中嵌入Native组件使用的关键。
发明内容
本发明的一个目的是提供一种用于处理事件的新技术方案。
根据本发明的第一方面,提供了一种事件处理方法,其中,包括:
接收到实施在嵌入有目标组件的目标网页上的用户操作事件时,确定所述用户操作事件是否是与所述目标组件对应的事件;
当确定所述用户操作事件与所述目标组件对应的事件时,将所述用户操作事件派发给所述目标组件处理,获取所述用户操作事件的处理结果;
根据所述用户操作事件的处理结果,展示所述目标网页。
可选地,所述确定所述用户操作事件是否是与所述目标组件对应的事件的步骤包括:
设置所述用户操作事件的唯一事件标识,复制存储所述用户操作事件;
将所述用户操作事件转换为对应的、具有相同的所述唯一事件标识的网页事件;
确定所述目标网页中的与所述网页事件对应的网页元素,是否是所述目标网页中与所述目标组件对应的目标网页元素;
当所述目标网页中与所述网页事件对应的网页元素是所述目标网页元素时,根据所述网页事件的所述唯一事件标识,查询获取已存储的、具有相同的所述唯一事件标识的所述用户操作事件,确定为与所述目标组件对应的事件。
进一步可选地,所述网页事件是由对应的网页元素处理的事件;
所述目标网页元素是符合预设元素类型并设置有预设元素属性的网页元素;
所述确定与所述网页事件对应的所述目标网页中的网页元素,是否是所述目标网页中与所述目标组件对应的目标网页元素的步骤包括:
根据所述目标网页的网页结构,确定所述目标网页中与所述网页事件对应的网页元素;
当与所述网页事件对应的网页元素的元素类型符合所述预设元素类型、元素属性符合所述预设元素属性时,确定与所述网页事件对应的网页元素是所述目标网页元素。
可选地,
所述确定所述目标网页中的与所述网页事件对应的网页元素,是否是所述目标网页中与所述目标组件对应的目标网页元素的步骤,通过与浏览器内核相关的内核线程实施;所述事件处理方法中的其他步骤,通过与用户界面相关的用户界面线程实施;
和/或,
所述方法还包括:
当从所述目标组件获取的用户操作事件的处理结果是未处理时,根据所述目标网页的网页结构,将与所述用户操作事件对应的所述网页事件,派发给所述目标网页中与所述目标网页元素相关的其他网页元素处理,重新获取对应的所述用户操作事件的处理结果。
可选地,所述确定所述用户操作事件是否是与所述目标组件对应的事件的步骤包括:
当与所述用户操作事件相关的上一个事件是与所述目标组件对应的、并且已被所述目标组件处理的用户操作事件时,将所述用户操作事件确定为与所述目标组件对应的事件。
可选地,所述事件处理方法是通过与用户界面相关的用户界面线程实施的。
可选地,
所述方法还包括:
当所述用户操作事件的处理结果是未处理时,将所述用户操作事件派发给与所述目标网页对应的网页视图处理,重新获取对应的所述用户操作事件的处理结果;
和/或,
所述目标组件是原生用户界面组件。
根据本发明的第二方面,提供一种事件处理装置,其中,包括:
事件确定单元,用于接收到实施在嵌入有目标组件的目标网页上的用户操作事件时,确定所述用户操作事件是否是与所述目标组件对应的事件;
事件处理单元,用于当确定所述用户操作事件与所述目标组件对应的事件时,将所述用户操作事件派发给所述目标组件处理,以获取所述用户操作事件的处理结果;
网页展示单元,用于根据所述用户操作事件的处理结果,展示所述目标网页。
根据本发明的第三方面,提供一种事件处理设备,其中,包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述可执行的指令的控制,运行所述事件处理设备执行如本发明的第一方面所述的事件处理方法。
根据本发明的第四方面,提供一种可读存储介质,其中,所述可读存储介质中存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被计算机读取运行时,执行如本发明的第一方面所述的事件处理方法。
根据本公开的一个实施例,在确定所接收的实施在嵌入有目标组件的目标网页上的用户操作事件,是与目标组件对应的事件时,将用户操作事件派发给目标组件处理,获取用户操作事件的处理结果来展示目标网页,将嵌入目标网页的目标组件转化为目标网页的一个网页元素进行对应的事件处理,有效实现目标组件嵌入目标网页使用,获取嵌入的目标组件与目标网页融合一体的效果。尤其适用于目标组件是原生用户界面组件的场景,可以利用原生用户界面组件的优异性能,满足用户多样化的网页展示需求。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是显示可用于实现本发明的实施例的电子设备的硬件配置的例子的框图。
图2示出了本发明的实施例的事件处理方法的流程图。
图3是本发明的实施例的事件处理方法的例子的示意图。
图4示出了本发明的实施例的事件处理装置3000的框图。
图5示出了本发明的实施例的事件处理设备4000的框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。
电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括Wifi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项事件处理方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本发明的总体构思,是针对嵌入有目标组件的目标网页提供一种新的事件处理方案,在确定所接收的实施在嵌入有目标组件的目标网页上的用户操作事件,是与目标组件对应的事件时,将用户操作事件派发给目标组件处理,获取用户操作事件的处理结果来展示目标网页,将嵌入目标网页的目标组件转化为目标网页的一个网页元素进行对应的事件处理,有效实现目标组件嵌入目标网页使用,获取嵌入的目标组件与目标网页融合一体的效果。尤其适用于目标组件是原生用户界面组件的场景,可以利用原生用户界面组件的优异性能,满足用户多样化的网页展示需求。
<第一实施例>
在本实施例中,提供一种事件处理方法,如图2所示,包括:步骤S2100-S2300。
步骤S2100,接收到实施在嵌入有目标组件的目标网页上的用户操作事件时,确定用户操作事件是否是与目标组件对应的事件。
目标组件是可以被嵌入网页中、提供对应的组件功能的组件。例如,目标组件可以是是原生(Native)组件,原生组件是指基于对应的操作系统(例如安卓操作系统)所支持的API(Application Programming Interface,应用程序接口)开发的、提供对应功能的组件。更具体的例子中,目标组件可以原生用户界面组件(Native UI组件),原生用户界面组件可以是由对应的操作系统提供的或者支持的、与用户界面(UI)相关的原生组件,提供对应的与用户界面相关的组件功能,例如,原生用户界面组件可以是Native View(原生视图),该Native View可以用于展示一个地图、广告或者视频等。
目标组件可以是第三方开发、运营或提供的第三方组件库中的组件,例如第三方组件库中提供的原生用户界面组件。或者,目标组件还可以由期望在目标网页中嵌入目标组件使用的应用提供,例如,可以由期望在加载的目标网页中嵌入目标组件使用的NativeAPP(原生应用)提供。
通过在目标网页中嵌入目标组件,可以直接通过目标组件提供对应的组件功能以满足用户的网页展示需求,而无需基于目标网页所基于的网页视图重新进行开发,降低开发成本。而当目标组件是原生用户界面组件时,还可以对应提供原生组件相对于网页视图更优越的性能。
目标网页可以通过任意具有显示装置的电子设备所显示的对应的窗口或者界面进行展示,以供用户浏览、操作获取对应的网页服务。例如,当用户在展示目标网页的窗口或者界面实施对目标网页的人机交互操作时,电子设备所基于的操作系统,根据显示装置所接收的人机交互操作,将对应的用户操作事件作为系统事件,传递给目标网页对应的网页视图相关的处理线程进行处理。
在本实施例中,用户操作事件与实施在目标网页上的用户操作对应。用户操作可以包括单点或多点触摸操作、滑动操作、点击(单击、双击)操作等。每个用户操作事件具有对应的事件属性,事件属性可以包括事件发生时间、事件内容、事件类型等,事件内容可以包括用户操作事件对应的用户操作的操作类型、操作位置、操作方向等。应当理解的是,用户实施的一个操作手势也可能触发多个用户操作事件,例如,用户对电子设备的显示屏幕所显示的目标网页的窗口实施一个滑动手势,从手指触摸到离开的整个过程中,可能会触发多个用户操作事件。
在本实施例中,对嵌入有目标组件的目标网页所接收的用户操作事件,该用户操作事件对应的用户操作可能与目标组件关联(例如,用户操作实施在目标组件上等),那么该用户操作事件就是与目标组件对应的事件。通过确定用户操作事件是否是与目标组件对应的事件,可以有效识别用户操作事件对应的用户操作是否与目标组件关联,以便结合后续步骤,将嵌入目标网页的目标组件转化为目标网页的一个网页元素进行对应的事件处理。
在一个例子中,确定用户操作事件是否是与目标组件对应的事件的步骤可以包括:步骤S2110-S2140。
步骤S2110,设置用户操作事件的唯一事件标识,复制存储用户操作事件。
唯一事件标识用于唯一标识对应的用户操作事件。唯一事件标识可以是事件发生时间的时间戳、事件ID、事件编号等。
将用户操作事件复制存储,可以在实施后续步骤将用户操作事件转换为网页事件之前保留备份,在确定网页事件对应的目标网页的网页元素是与目标组件对应的目标网页元素时,无需重新将网页事件转换为用户操作事件提供给目标组件处理,而是直接查询以存储的、与网页事件对应的用户操作事件确定为与目标组件对应的事件,提供给目标组件处理,在实现将目标组件转化为目标网页的一个网页元素进行事件处理的基础上,减少将网页事件重新转换成用户操作事件的系统资源消耗和时间损耗,避免可能存在的数据损失,提高事件处理效率。
步骤S2120,将用户操作事件转换为对应的、具有相同的唯一事件标识的网页事件。
在本例中,网页事件是与网页相关的事件,例如,网页事件可以是由网页中对应的网页元素处理的事件。而网页中包括的网页元素的相关事件通常是基于网页的DOM(Document Object Model,文档对象模型)事件处理流程来处理,对应的,网页事件可以是DOM事件。DOM事件具有按照DOM标准定义的事件格式。
网页事件具有对应的事件属性,该事件属性可以与用户操作事件的事件属性类似,包括事件发生时间、事件内容、事件类型等,事件内容可以包括网页事件对应的事件位置(对应用户操作的操作位置)等等。
将用户操作事件转换为对应的网页事件,可以结合后续步骤,基于网页事件,来确定与网页事件对应的目标网页的网页元素是否是与目标组件对应的目标网页元素,对应确定与网页事件对应的用户操作事件,是否是与目标组件对应的事件,实现将目标组件转换为目标网页的一个网页元素处理对应的事件。
步骤S2130,确定目标网页中的与网页事件对应的网页元素,是否是目标网页中与目标组件对应的目标网页元素。
目标网页元素是与目标组件对应的、目标网页中的网页元素,通过确定与网页事件对应的目标网页的网页元素是否是与目标组件对应的目标网页元素,可以结合后续步骤,对应确定与网页事件对应的用户操作事件,是否是与目标组件对应的事件,实现将目标组件转换为目标网页的一个网页元素处理对应的事件。
在更具体的一个例子中,网页事件是由对应的网页元素处理的事件,例如网页事件是DOM事件;目标网页元素是符合预设元素类型并设置有预设元素属性的网页元素,该预设元素类型、预设元素属性可以根据具体的应用场景或者应用需求设置,例如,预设元素类型可以是HTML中定义的<object>标签,预设元素属性是预先定义的、用于标记属于嵌入网页的组件的特定属性信息,比如预设元素属性具体可以是某个特定的属性值,通过该特定的属性值可以识别符合该预设元素类型的网页元素与嵌入的目标组件对应,是目标网页元素,或者,该预设元素属性还可以包括对应的目标组件的标识信息以及组件显示位置、组件显示尺寸等组件属性信息;
步骤S2130可以包括:步骤S2131-S2132。
步骤S2131,根据目标网页的网页结构,确定目标网页中与网页事件对应的网页元素。
网页中包括网页元素通常基于一定的网页结构组织得到目标网页的页面。该网页结构通常是树形结构,例如可以是DOM树。DOM(Document Object Model,文档对象模型)是以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。在本例中,DOM可以是网页的树形结构中与一个网页元素对应的网页元素节点的代称,目标网页包括的每个网页元素可以是对应的目标网页的DOM树中一个节点。
根据网页事件的事件属性中事件位置,遍历DOM树中每个节点,对应确定与事件位置对应的DOM树的节点,也就能确定标网页中与网页事件对应的网页元素。
步骤S2132,当与网页事件对应的网页元素的元素类型符合预设元素类型、元素属性符合预设元素属性时,确定与网页事件对应的网页元素是目标网页元素。
在本例中,每个网页元素都具有对应的元素类型以及元素属性。通过解析目标网页的页面文件(例如HTML文件),可以获取构成目标网页的每个网页元素的元素类型以及元素属性。
例如,假设预设元素类型是<object>标签,目标网页元素是目标网页的DOM树中一个<object>节点,当与网页事件对应的网页元素就是目标网页中一个一个符合<object>标签并且添加有预设元素属性的<object>节点时,就确定与网页事件对应的网页元素是目标网页元素。
步骤S2140,当目标网页中与网页事件对应的网页元素是目标网页元素时,根据网页事件的唯一事件标识,查询获取已存储的、具有相同的唯一事件标识的用户操作事件,确定为与目标组件对应的事件。
当目标网页中与网页事件对应的网页元素是目标网页元素时,意味着与网页事件对应的用户操作事件,是与目标组件对应的事件。根据网页事件的唯一事件标识,查询获取已存储的、具有相同的唯一事件标识的用户操作事件,确定为与目标组件对应的事件,无需重新将网页事件转换为用户操作事件,就能直接提供给目标组件处理,在实现将目标组件转化为目标网页的一个网页元素进行事件处理的基础上,减少将网页事件重新转换成用户操作事件的系统资源消耗和时间损耗,避免可能存在的数据损失,提高事件处理效率。
在更具体的例子中,本例中的确定目标网页中的与网页事件对应的网页元素,是否是目标网页中与目标组件对应的目标网页元素的步骤S2130,可以通过与浏览器内核相关的内核线程实施;而本例中事件处理方法的其他步骤,可以通过与用户界面相关的用户界面线程实施。
内核线程与浏览器内核相关,可以用于处理与网页相关的排版和事件处理等。本例中的浏览器内核可以是浏览器、或者具有网页访问功能的任意应用所采用的渲染引擎,可以用于处理与网页相关的解析、排版、绘制、渲染等。
用户界面线程,又称UI(User Interface)线程,是与用户界面相关的线程,与操作系统相关的系统事件(例如本例中的用户操作事件)派发所在的线程,包括网页视图(WebView)、目标组件的组件视图等所有视图(View)都可以通过用户界面线程接收系统事件。
用户界面线程通常需要处理与用户界面相关的系统事件,处理负担较重,通过内核线程实施步骤S2130,可以避免影响繁忙的用户界面线程,利用多线程的优势,提高事件处理效率。
在本例中,用户界面线程处理步骤S2120后,可以通过异步消息将步骤S2120中由用户操作事件转换的网页事件,派发给内核线程,无需等到消息响应就能触发内核线程实施步骤S2130,提高交互效率;
内核线程在实施步骤S2130确定网页事件对应的网页元素是目标网页元素后,可以通过异步消息,触发内核线程实施步骤S2140查找与网页事件对应的用户操作事件,以等待后续对应的处理结果,保证线程之间的处理流程的有序串联。
在另一个例子中,确定用户操作事件是否是与目标组件对应的事件的步骤包括:
当与用户操作事件相关的上一个事件是与目标组件对应的、并且已被目标组件处理的用户操作事件时,将用户操作事件确定为与目标组件对应的事件。
与用户操作事件相关的上一个事件,可以是在同一个用户手势操作过程中,发生在当前的用户操作事件之前的上一个用户操作事件。例如,用户对电子设备的显示屏幕所显示的目标网页的窗口实施一个滑动手势,从手指触摸到离开的整个过程中,可能会触发多个用户操作事件,与当前的用户操作事件相关的上一个事件,就是在这个滑动手势实施过程中,当前的用户操作事件触发前的上一个被触发的用户操作事件。
当与用户操作事件相关的上一个事件是与目标组件对应的、并且已被目标组件处理的用户操作事件时,意味着当前的用户操作事件也是与目标组件对应的、并且需要被目标组件处理的事件,因此,可以直接将当前的用户操作事件确定为与目标组件对应的事件,结合后续步骤直接将用户操作事件派发给目标组件处理,使得嵌入目标网页的目标组件处理对应事件的响应更迅速,进一步提高事件处理效率。
在更具体的例子中,本例中的事件处理方法可以完全通过与用户界面相关的用户界面线程实施。用户界面线程在前文其他例子中已经详细描述,在此不再赘述。通过用户界面线程这一个单一线程来实施整个事件处理方法,可以避免多线程处理时多个线程之间的消息传递、交互带来的处理延时,进一步提高嵌入目标网页的目标组件处理对应事件的响应速度,提升事件处理效率。
在确定用户操作事件是否是与目标组件对应的事件之后,进入:
步骤S2200,当确定用户操作事件与目标组件对应的事件时,将用户操作事件派发给目标组件处理,获取用户操作事件的处理结果。
目标组件处理用户操作事件,可以根据用户操作事件的事件属性,对应得到对应的处理结果,例如,用户操作事件对应的用户操作是滑动操作时,目标组件可以根据该滑动操作实施的滑动方向、滑动距离,获取目标组件重新实施渲染的相应渲染参数,作为对应的用户操作事件的处理结果,结合后续步骤,实施对应的绘制渲染,展示对应的目标网页,在目标网页中展示响应该滑动操作后的目标组件,给予用户该目标组件被操作滑动的显示效果。
在本实施例中,目标组件可以根据预设的事件处理规则,确定是否处理用户操作事件。该事件处理规则可以根据具体的应用场景或者应用需求设置,在此不做限定。目标组件根据预设的事件处理规则,确定不处理用户操作事件时,对应的处理结果是未处理。
在前述通过步骤S2110-S2140实施步骤S2100的例子中,事件处理方法还可以包括:
当从目标组件获取的用户操作事件的处理结果是未处理时,根据目标网页的网页结构,将与用户操作事件对应的网页事件,派发给目标网页中与目标网页元素相关的其他网页元素处理,重新获取对应的用户操作事件的处理结果。
目标网页中与目标网页元素相关的其他网页元素,可以是与目标组件对应的目标网页元素存在关联的网页元素。例如,如前述通过步骤S2110-S2140实施步骤S2100的例子中所述,目标网页的网页结构可以是目标网页的DOM树,目标网页中包括的每个网页元素可以与DOM树上的一个DOM节点对应,遍历DOM树时,目标网页元素所对应的DOM节点的相邻DOM节点所对应的网页元素,就是与目标网页中与目标网页元素相关的其他网页元素。
在目标组件未处理用户操作事件时,将与用户操作事件对应的网页事件,派发给目标网页中与用户操作事件相关的其他网页元素处理,重新获取对应的用户操作事件的处理结果,可以确保用户操作事件能获取实际的处理结果,保证事件处理效率。
在另一个具体的例子中,事件处理方法还可以包括:
当用户操作事件的处理结果是未处理时,将用户操作事件派发给与目标网页对应的网页视图处理,重新获取对应的用户操作事件的处理结果。
与目标对应的网页视图(WebView),是可以将目标网页所包括的网页元素绘制到用于展示目标网页的目标窗口的网页视图。该网页视图可以是对应的操作系统提供的标准的用户界面组件(UI组件),能实现网页的加载、绘制、渲染并展示。
在获取的用户操作事件结果是未处理时,将将用户操作事件派发给与目标网页对应的网页视图处理,重新获取对应的用户操作事件的处理结果,可以确保用户操作事件能获取实际的处理结果,保证事件处理效率。
在获取用户操作事件额处理结果后,进入:
步骤S2300,根据用户操作事件的处理结果,展示目标网页。
在本实施例中,目标组件可以根据预设的事件处理规则,确定是否处理用户操作事件。该事件处理规则可以根据具体的应用场景或者应用需求设置,在此不做限定。
目标组件实际对用户操作事件进行处理时,处理结果可以根据用户操作事件的事件属性处理得到的目标组件重新实施渲染的相应渲染参数,例如,用户操作事件对应的用户操作是滑动操作时,目标组件可以根据该滑动操作实施的滑动方向、滑动距离,获取目标组件重新实施渲染的相应的渲染参数等信息,以对应实施对应的绘制渲染后,展示对应的目标网页,在目标网页中展示响应该滑动操作操作后的目标组件,给予用户该目标组件被用户操作滑动后得到的显示效果。
目标组件实际对用户操作事件未进行处理时,根据前述例子,可以通过目标网页中与目标组件对应的目标网页元素相关的其他网页元素或者与目标网页对应的网页视图,来处理对应的用户操作事件,处理结果可以根据用户操作事件的事件属性处理得到的其他网页元素或者目标网页的网页视图重新实施渲染的相应渲染参数,可以根据该处理结果重新渲染目标网页进行显示,以显示响应与用户操作事件对应的用户操作的网页效果。例如,假设是由目标网页对应的网页视图处理用户操作事件,用户操作事件对应的用户操作是滑动操作,在根据处理结果重新渲染目标网页进行显示后,可以得到是整个目标网页对应的窗口被用户操作滑动的显示效果。
<例子>
以下将结合图3进一步举例说明本实施例中提供的事件处理方法。
在本例中,通过内核线程和用户界面线程(UI线程)来实施事件处理方法。用户操作事件可以是触摸操作事件。嵌入目标网页的目标组件是对应的操作系统支持的嵌入式View(视图)。目标网页中与嵌入式View的目标网页元素,与目标网页的DOM树中一个Object节点对应。
其中,UI线程中包括与目标网页对应的网页视图(WebView)相关的WebView处理器、控制器、事件转换器、以及与嵌入式View相关的嵌入式View处理器,控制器用于控制相关事件处理流程,事件转换器用于将用户操作事件转换为对应的DOM事件。内核线程中包括与目标网页的DOM树相关的DOM树处理器、与嵌入式View对应的Object节点相关的Object节点处理器。
如图3所示,事件处理方法包括:
步骤S201,用户对目标网页实施触摸操作,触发生成对应的触摸事件,被与目标网页相关的WebView处理器接收。
步骤S202,WebView处理器将触摸事件传递给控制器。
步骤S203,控制器判断触摸事件相关的上一个事件,是否是与嵌入式View对应的、并且已被嵌入式View处理的用户操作事件:
如果触摸事件相关的上一个事件,不是与嵌入式View对应的、并且已被嵌入式View处理的用户操作事件,则进入流程1,流程1包括步骤S204.1-S212.1;
如果触摸事件相关的上一个事件,是与嵌入式View对应的、并且已被嵌入式View处理的用户操作事件,则进入流程2,流程2包括步骤S204.2-S205.2;
流程1:
步骤S204.1,控制器设置触摸事件的唯一事件标识,并复制保存触摸事件。
步骤S205.1,控制器触发事件转换器将触摸事件转换为具有相同唯一事件标识的DOM事件。
步骤S206.1,事件转换器在转换获取DOM事件后,将DOM事件通过异步消息派发给内核线程的DOM树处理器。
步骤S207.1,DOM树处理器遍历目标网页的DOM树,确定与DOM事件对应的网页元素在DOM树中的DOM节点,是与嵌入式View对应的DOM树中的Object节点时,将DOM事件传递给Object节点处理器。
步骤S208.1,Object节点处理器通过同步消息触发UI线程的控制器,查找已存储的、与DOM事件具有相同的唯一事件标识的触摸事件。
步骤S209.1,控制器在查找与DOM事件对应的触摸事件后,将触摸事件派发给嵌入式View处理器,以获取嵌入式View处理触摸事件的处理结果。
步骤S210.1,嵌入式View处理器将处理结果,通过同步消息返回给内核线程的Object节点处理器。
步骤S211.1,Object节点处理器收到触摸事件的处理结果后,将触摸事件的处理结果传递给DOM树处理器。
DOM树处理器可以在触摸事件的处理结果是未处理时,将该触摸事件对应的DOM事件传递给Object节点的相邻节点对应的网页元素处理,重新获取触摸事件的处理结果。
步骤212.1,Object节点处理器将触摸事件的处理结果通过异步消息,返回给UI线程的WebView处理器。
WebView处理器在触摸事件的处理结果是未处理时,通过目标网页的WebView处理触摸事件,重新获取触摸事件的处理结果。
UI线程在获取触摸事件的处理结果后,根据触摸事件的处理结果,重新渲染展示目标网页,展示响应触摸事件后的、包含嵌入式View的目标网页。例如,嵌入式View实际处理该触摸事件时,对应展示的目标网页中的嵌入是View会对应发生触摸后的滑动等,而如果是WebView实际处理该触摸事件时,对应展示的是整个目标网页发生触摸后的滑动等。
通过上述流程1,可以在触摸事件相关的上一个事件,不是与嵌入式View对应的、并且已被嵌入式View处理的用户操作事件,而触摸事件对应的触摸操作是实施在嵌入式View上时,无需重新将DOM事件转换为触摸事件提供给嵌入式View处理,而是直接查询以存储的、与DOM事件对应的触摸事件,提供给嵌入式View处理,减少将DOM事件重新转换成触摸事件的系统资源消耗和时间损耗,避免可能存在的数据损失,提高事件处理效率。
流程2:
步骤S204.2,控制器将触摸事件派发给嵌入式View处理器,以获取嵌入式View处理触摸事件的处理结果。
步骤S205.2,嵌入式View处理器将处理结果返回给WebView处理器。
步骤S205.2的WebView处理器对返回的处理结果的处理类似流程1中的步骤S212.1,在此不再赘述。
通过上述流程2,可以在触摸事件相关的上一个事件,是与嵌入式View对应的、并且已被嵌入式View处理的用户操作事件时,直接将触摸事件提供给嵌入式View处理,无需进行事件转换以及内核线程参与处理,减少系统处理资源消耗,也避免线程间的消息交互,相应节省处理损耗以及降低处理延时,提高事件处理效率。
在本例中,通过上述流程1和流程2的结合,可以实现将嵌入式View转化为目标网页的一个网页元素进行对应的触摸事件的处理,并且在触摸事件对应的触摸操作是实施在嵌入式View上时,根据触摸事件的上一个事件的相关状态,对应选择不同的流程进行处理,进一步提高事件处理效率。
<事件处理装置>
在本实施例中,还提供一种事件处理装置3000,如图4所示,包括:事件确定单元3100、事件处理单元3200以及网页展示单元3300,用于实施本实施例中提供的任意一项事件处理方法,在此不再赘述。
事件确定单元3300,用于接收到实施在嵌入有目标组件的目标网页上的用户操作事件时,确定所述用户操作事件是否是与所述目标组件对应的事件。
可选地,事件确定单元3300还包括:
用于设置所述用户操作事件的唯一事件标识,复制存储所述用户操作事件的装置;
用于将所述用户操作事件转换为对应的、具有相同的所述唯一事件标识的网页事件的装置;
用于确定所述目标网页中的与所述网页事件对应的网页元素,是否是所述目标网页中与所述目标组件对应的目标网页元素的装置;
用于当所述目标网页中与所述网页事件对应的网页元素是所述目标网页元素时,根据所述网页事件的所述唯一事件标识,查询获取已存储的、具有相同的所述唯一事件标识的所述用户操作事件,确定为与所述目标组件对应的事件的装置。
进一步可选地,所述网页事件是由对应的网页元素处理的事件;
所述目标网页元素是符合预设元素类型并设置有预设元素属性的网页元素;
用于确定与所述网页事件对应的所述目标网页中的网页元素,是否是所述目标网页中与所述目标组件对应的目标网页元素的装置还用于:
根据所述目标网页的网页结构,确定所述目标网页中与所述网页事件对应的网页元素;
当与所述网页事件对应的网页元素的元素类型符合所述预设元素类型、元素属性符合所述预设元素属性时,确定与所述网页事件对应的网页元素是所述目标网页元素。
可选地,事件确定单元3300中用于实施确定所述目标网页中的与所述网页事件对应的网页元素,是否是所述目标网页中与所述目标组件对应的目标网页元素的装置通过与浏览器内核相关的内核线程实现,所述事件处理装置3000中其他装置通过与用户界面相关的用户界面线程实现。
可选地,所述事件处理装置3000还用于:
当从所述目标组件获取的用户操作事件的处理结果是未处理时,根据所述目标网页的网页结构,将与所述用户操作事件对应的所述网页事件,派发给所述目标网页中与所述目标网页元素相关的其他网页元素处理,重新获取对应的所述用户操作事件的处理结果。
可选地,事件确定单元3300还用于:
当与所述用户操作事件相关的上一个事件是与所述目标组件对应的、并且已被所述目标组件处理的用户操作事件时,将所述用户操作事件确定为与所述目标组件对应的事件。
可选地,所述事件处理装置3000中通过与用户界面相关的用户界面线程实现。
可选地,所述目标组件是原生用户界面组件。
事件处理单元3200,用于当确定所述用户操作事件与所述目标组件对应的事件时,将所述用户操作事件派发给所述目标组件处理,以获取所述用户操作事件的处理结果。
可选地,所述事件处理装置3000还用于:
当所述用户操作事件的处理结果是未处理时,将所述用户操作事件派发给与所述目标网页对应的网页视图处理,重新获取对应的所述用户操作事件的处理结果。
网页展示单元3300,用于根据所述用户操作事件的处理结果,展示所述目标网页。
本领域技术人员应当明白,可以通过各种方式来实现事件处理装置3000。例如,可以通过指令配置处理器来实现事件处理装置3000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现事件处理装置3000。例如,可以将事件处理装置3000固化到专用器件(例如ASIC)中。可以将事件处理装置3000分成相互独立的单元,或者可以将它们合并在一起实现。事件处理装置3000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
在本实施例中,事件处理装置3000可以是任意实现本实施例中提供的事件处理方法的软件产品、应用程序、软件工具开发包、插件、嵌入件或补丁等。在一个例子中,事件处理装置3000可以是提供针对嵌入有目标组件的目标网页的网页服务的应用或软件产品。
<事件处理设备>
在本实施例中,还提供一种事件处理设备4000,如图5所示,包括:
存储器4100,用于存储可执行的指令;
处理器4200,用于根据可执行的指令的控制,运行事件处理设备4000执行如本实施例中提供的事件处理方法。
在本实施例中,事件处理设备4000可以是手机、掌上电脑、平板电脑、笔记本电脑、台式电脑等电子设备。例如,事件处理设备4000可以是如图1所示的电子设备1000。具体的一个例子中,事件处理设备4000可以是安装有提供针对嵌入有目标组件的目标网页的网页服务的应用或软件产品的手机。
事件处理设备4000还可以包括其他的装置,例如还可以包括输入装置、通信装置等。
<可读存储介质>
在本实施例中,还提供一种可读存储介质,可读存储介质存储有可被计算机读取并运行的计算机程序,所述计算机程序用于在被所述计算机运行时,执行如本实施例所述的网页展示方法。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
以上已经结合附图描述了本发明的实施例,根据本实施例,提供一种事件处理方法、装置、设备及可读存储介质,在确定所接收的实施在嵌入有目标组件的目标网页上的用户操作事件,是与目标组件对应的事件时,将用户操作事件派发给目标组件处理,获取用户操作事件的处理结果来展示目标网页,将嵌入目标网页的目标组件转化为目标网页的一个网页元素进行对应的事件处理,有效实现目标组件嵌入目标网页使用,获取嵌入的目标组件与目标网页融合一体的效果。尤其适用于目标组件是原生用户界面组件的场景,可以利用原生用户界面组件的优异性能,满足用户多样化的网页展示需求。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (10)

1.一种事件处理方法,其中,包括:
接收到实施在嵌入有目标组件的目标网页上的用户操作事件时,确定所述用户操作事件是否是与所述目标组件对应的事件;
当确定所述用户操作事件与所述目标组件对应的事件时,将所述用户操作事件派发给所述目标组件处理,获取所述用户操作事件的处理结果;
根据所述用户操作事件的处理结果,展示所述目标网页。
2.根据权利要求1所述的方法,其中,所述确定所述用户操作事件是否是与所述目标组件对应的事件的步骤包括:
设置所述用户操作事件的唯一事件标识,复制存储所述用户操作事件;
将所述用户操作事件转换为对应的、具有相同的所述唯一事件标识的网页事件;
确定所述目标网页中的与所述网页事件对应的网页元素,是否是所述目标网页中与所述目标组件对应的目标网页元素;
当所述目标网页中与所述网页事件对应的网页元素是所述目标网页元素时,根据所述网页事件的所述唯一事件标识,查询获取已存储的、具有相同的所述唯一事件标识的所述用户操作事件,确定为与所述目标组件对应的事件。
3.根据权利要求2所述的方法,其中,
所述网页事件是由对应的网页元素处理的事件;
所述目标网页元素是符合预设元素类型并设置有预设元素属性的网页元素;
所述确定与所述网页事件对应的所述目标网页中的网页元素,是否是所述目标网页中与所述目标组件对应的目标网页元素的步骤包括:
根据所述目标网页的网页结构,确定所述目标网页中与所述网页事件对应的网页元素;
当与所述网页事件对应的网页元素的元素类型符合所述预设元素类型、元素属性符合所述预设元素属性时,确定与所述网页事件对应的网页元素是所述目标网页元素。
4.根据权利要求2所述的方法,其中,
所述确定所述目标网页中的与所述网页事件对应的网页元素,是否是所述目标网页中与所述目标组件对应的目标网页元素的步骤,通过与浏览器内核相关的内核线程实施;所述事件处理方法中的其他步骤,通过与用户界面相关的用户界面线程实施;
和/或,
所述方法还包括:
当从所述目标组件获取的用户操作事件的处理结果是未处理时,根据所述目标网页的网页结构,将与所述用户操作事件对应的所述网页事件,派发给所述目标网页中与所述目标网页元素相关的其他网页元素处理,重新获取对应的所述用户操作事件的处理结果。
5.根据权利要求1所述的方法,其中,所述确定所述用户操作事件是否是与所述目标组件对应的事件的步骤包括:
当与所述用户操作事件相关的上一个事件是与所述目标组件对应的、并且已被所述目标组件处理的用户操作事件时,将所述用户操作事件确定为与所述目标组件对应的事件。
6.根据权利要求5所述的方法,其中,
所述事件处理方法是通过与用户界面相关的用户界面线程实施的。
7.根据权利要求1所述的方法,其中,
所述方法还包括:
当所述用户操作事件的处理结果是未处理时,将所述用户操作事件派发给与所述目标网页对应的网页视图处理,重新获取对应的所述用户操作事件的处理结果;
和/或,
所述目标组件是原生用户界面组件。
8.一种事件处理装置,其中,包括:
事件确定单元,用于接收到实施在嵌入有目标组件的目标网页上的用户操作事件时,确定所述用户操作事件是否是与所述目标组件对应的事件;
事件处理单元,用于当确定所述用户操作事件与所述目标组件对应的事件时,将所述用户操作事件派发给所述目标组件处理,以获取所述用户操作事件的处理结果;
网页展示单元,用于根据所述用户操作事件的处理结果,展示所述目标网页。
9.一种事件处理设备,其中,包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述可执行的指令的控制,运行所述事件处理设备执行如权利要求1-7所述的事件处理方法。
10.一种可读存储介质,其中,所述可读存储介质中存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被计算机读取运行时,执行如权利要求1-7所述的事件处理方法。
CN201910146341.2A 2019-02-27 2019-02-27 事件处理方法、装置、设备及可读存储介质 Active CN111625303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910146341.2A CN111625303B (zh) 2019-02-27 2019-02-27 事件处理方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910146341.2A CN111625303B (zh) 2019-02-27 2019-02-27 事件处理方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111625303A true CN111625303A (zh) 2020-09-04
CN111625303B CN111625303B (zh) 2023-06-09

Family

ID=72271663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910146341.2A Active CN111625303B (zh) 2019-02-27 2019-02-27 事件处理方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111625303B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050088420A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Ordering of events between different input sources
CN103365859A (zh) * 2012-03-28 2013-10-23 上海商派网络科技有限公司 处理网页鼠标点击事件的方法
CN104346464A (zh) * 2014-11-07 2015-02-11 北京奇虎科技有限公司 网页元素信息的处理方法、装置和浏览器客户端
CN105516333A (zh) * 2015-12-23 2016-04-20 北京奇虎科技有限公司 一种基于网页的交互方法和系统
US20170098448A1 (en) * 2015-10-01 2017-04-06 Yahoo!, Inc. Webpage navigation utilizing audio commands
US10031729B1 (en) * 2014-12-30 2018-07-24 Open Text Corporation Method and system for implementing custom UI actions in a web application using hidden containers
WO2019000723A1 (zh) * 2017-06-28 2019-01-03 武汉斗鱼网络科技有限公司 一种实现弹窗交互事件的方法、装置及计算机设备
WO2019034024A1 (zh) * 2017-08-15 2019-02-21 腾讯科技(深圳)有限公司 信息处理方法、装置和计算机存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050088420A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Ordering of events between different input sources
CN103365859A (zh) * 2012-03-28 2013-10-23 上海商派网络科技有限公司 处理网页鼠标点击事件的方法
CN104346464A (zh) * 2014-11-07 2015-02-11 北京奇虎科技有限公司 网页元素信息的处理方法、装置和浏览器客户端
US10031729B1 (en) * 2014-12-30 2018-07-24 Open Text Corporation Method and system for implementing custom UI actions in a web application using hidden containers
US20170098448A1 (en) * 2015-10-01 2017-04-06 Yahoo!, Inc. Webpage navigation utilizing audio commands
CN105516333A (zh) * 2015-12-23 2016-04-20 北京奇虎科技有限公司 一种基于网页的交互方法和系统
WO2019000723A1 (zh) * 2017-06-28 2019-01-03 武汉斗鱼网络科技有限公司 一种实现弹窗交互事件的方法、装置及计算机设备
WO2019034024A1 (zh) * 2017-08-15 2019-02-21 腾讯科技(深圳)有限公司 信息处理方法、装置和计算机存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
薛冲;薛阳;: "基于ActionScript3语言的组件库架构研究" *
钟阳;王向华;: "Ajax引擎配置方案的设计和实现" *

Also Published As

Publication number Publication date
CN111625303B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
US11314568B2 (en) Message processing method and apparatus, storage medium, and computer device
US11269696B2 (en) Application processing method and apparatus
US11256381B2 (en) Method for providing message function and electronic device thereof
WO2018077085A1 (zh) 应用程序处理方法、装置及存储介质
CN109344352B (zh) 页面加载方法、装置及电子设备
CN109669617B (zh) 用于切换页面的方法和装置
JP6775510B2 (ja) 端末、端末の制御方法、及びプログラム
EP3835954A1 (en) Method and device for displaying interface, and storage medium
CN107203425B (zh) 轻应用的切换方法、设备及电子设备
KR102024820B1 (ko) 데스크톱 공유 방법 및 모바일 단말기
CN108966315B (zh) 无线网络获取方法、装置及电子设备
CN111324398A (zh) 最近内容的处理方法、装置、终端及存储介质
CN111506841B (zh) 网页展示方法、装置、设备及可读存储介质
CN113784194A (zh) 一种视频播放器的嵌入方法和装置
CN111506848A (zh) 网页处理方法、装置、设备及可读存储介质
CN108021317B (zh) 用于屏幕编辑的方法及装置
CN110580156A (zh) 页面处理方法、装置及电子设备
CN110647327A (zh) 基于卡片的用户界面动态控制的方法和装置
CN111625303B (zh) 事件处理方法、装置、设备及可读存储介质
CN117044114A (zh) 用于多维分段媒体数据的拆分器和合并器功能
CN111435328A (zh) 应用测试方法、装置、电子设备及可读存储介质
CN111506847B (zh) 网页展示方法、装置、设备及可读存储介质
CN110704141A (zh) 页面切换方法、装置及电子设备
KR101337982B1 (ko) 웹페이지의 문서 처리 방법 및 장치
CN108255918B (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