CN114238821B - 弹窗处理方法及装置 - Google Patents
弹窗处理方法及装置 Download PDFInfo
- Publication number
- CN114238821B CN114238821B CN202210148262.7A CN202210148262A CN114238821B CN 114238821 B CN114238821 B CN 114238821B CN 202210148262 A CN202210148262 A CN 202210148262A CN 114238821 B CN114238821 B CN 114238821B
- Authority
- CN
- China
- Prior art keywords
- page
- popup
- opened
- host
- hardware acceleration
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 230000001133 acceleration Effects 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 claims description 60
- 238000000034 method Methods 0.000 claims description 26
- 230000004083 survival effect Effects 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 5
- 239000003795 chemical substances by application Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 238000007619 statistical method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/957—Browsing optimisation, e.g. caching or content distillation
-
- 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/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了一种弹窗处理方法及装置,涉及计算机技术领域,可用于弹窗处理场景。具体实现方案为:响应于接收到基于当前页面的弹窗打开操作,基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面;从至少一个目标页面中选取用于构建弹窗的代理宿主;以代理宿主为弹窗宿主,构建对应的弹窗;以及将构建的弹窗展示在当前页面上。
Description
技术领域
本公开涉及计算机技术领域,可以用于弹窗处理场景。
背景技术
相比高配版安卓手机,低配版安卓手机的CPU性能较差。以公司详情页专利信息为例,使用低配版安卓手机,通过公司详情页进入专利信息页,点击页面右上角的按钮打开快捷导航窗口后,滑动该窗口就会发现该窗口下端的屏幕闪烁。
发明内容
本公开提供了一种弹窗处理方法、装置、设备、存储介质以及计算机程序产品。
根据本公开的一方面,提供了一种弹窗处理方法,响应于接收到基于当前页面的弹窗打开操作,基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面;从所述至少一个目标页面中选取用于构建弹窗的代理宿主;以所述代理宿主为弹窗宿主,构建对应的弹窗;以及将构建的弹窗展示在所述当前页面上。
根据本公开的另一方面,提供了一种弹窗处理装置,包括执行模块,用于响应于接收到基于当前页面的弹窗打开操作,通过以下单元执行对应的操作:确定单元,用于基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面;选取单元,用于从所述至少一个目标页面中选取用于构建弹窗的代理宿主;构建单元,用于以所述代理宿主为弹窗宿主,构建对应的弹窗;以及展示单元,用于将构建的弹窗展示在所述当前页面上。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开实施例所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1A示例性示出了适于本公开实施例的方法和装置的***架构图;
图1B~图1F示例性示出了可以实现本公开实施例的场景图;
图2示例性示出了根据本公开实施例的弹窗处理方法的流程图;
图3示例性示出了根据本公开实施例的弹窗处理方案的原理图;
图4示例性示出了根据本公开实施例的弹窗处理装置的框图;
图5示例性示出了用来实现本公开实施例的弹窗处理方法和装置的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如前文所述,以公司详情页专利信息为例,使用低配版安卓手机,通过公司详情页进入专利信息页,点击页面右上角的按钮打开快捷导航窗口后,滑动该窗口会出现下端屏幕闪烁。
在实现本公开发明构思的过程中,发明人发现:之所以滑动弹窗会出现屏幕闪烁,是因为专利信息页的“统计分析”tab调用“生成长图”功能时CPU需要对里面的图表内容进行虚拟滚动即抓取,在开启弹窗宿主的硬件加速的情况下,由于图表绘制工作主要由GPU执行,因而会产生GPU可能还没完成图表绘制工作,CPU却已经完成了抓取任务,这也就产生了生成长图后图片中图表区域为空白的现象。要解决此问题,就需要关闭弹窗宿主的硬件加速功能。但是,关闭弹窗宿主的硬件加速功能后,原本由GPU执行的图表绘制工作都转给CPU执行了,这大大加重了CPU的负担。此外,滑动弹窗时,窗口上的列表会频繁地调用界面重绘功能,这也大大加重了CPU的负担。而且由于低配版安卓手机的CPU性能也不高,因而绘制操作就会变慢甚至出现卡帧、掉帧等现象,这也就是用户肉眼可见的闪屏。
考虑到硬件加速功能在应用程序开发中已经写死了,因而无法在应用程序使用过程中灵活地开启或者关闭网络页面(如弹窗宿主)的硬件加速功能。
基于此,本公开实施例提供了一种弹窗处理方法及装置,可以动态地选取开启了硬件加速功能的代理宿主来创建弹窗,由此可以克服上述矛盾,即,可以同时解决图表区域空白和滑动弹窗时闪屏的问题。
以下将结合附图和具体实施例详细阐述本公开。
适于本公开实施例的弹窗处理方法和装置的***架构介绍如下。
图1A示例性示出了适于本公开实施的***架构。需要注意的是,图1A所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他环境或场景。
如图1A所示,适于本公开实施例的***架构可以包括:用户依次打开且没有主动关闭的页面101~104和队列105。其中,用户每打开一个页面,***可以将其页面结构数据存入队列105中的相应位置。如图1A所示,页面101~104的页面结构数据可以依次存入队列105中的01~04位置。示例性的,图1A的右侧是页面104的放大图,轻触页面104右上角的按钮1040,可以打开快速导航窗口1041。此窗口为弹窗,如果采用现有技术中提供的技术方案,打开“统计分析”页面时虽然不会出现图表区域空白,但是滑动快速导航窗口1041时,该窗口下端的屏幕区域1042会闪屏;如果采用本公开实施例提供的技术方案,不仅打开“统计分析”页面时不会出现图表区域空白,而且滑动快速导航窗口1041时,该窗口下端的屏幕区域1042也不会闪屏。本公开实施例实现上述功能的具体方案将在下文中阐述,本公开在此不再赘述。
应该理解,图1A中的用户依次打开且没有主动关闭的页面数目仅仅是示意性的。根据实现需要,用户依次打开且没有主动关闭任意数目的页面。
适于本公开实施例的弹窗处理方法和装置的应用场景介绍如下。
在企业信息查询网站中,可以找到如图1B所示的企业详情页(页面内容已省略)。点击该企业详情页中的“专利信息”导航按钮(图中未示出),可以展示如图1C所示的界面(界面内容也已省略)。点击如图1C所示的页面中的“统计分析”导航按钮,在开启企业详情页的硬件加速功能的情况下,可以展示如图1D所示的界面,可以发现该界面中图表区域是空白的;在关闭企业详情页的硬件加速功能的情况下,可以展示如图1E所示的界面,可以发现该界面中图表区域不是空白的。
如前文所述,轻触图1F中页面104右上角的按钮1040,可以打开快速导航窗口1041,此窗口为弹窗。
如果采用现有技术中提供的技术方案,为了实现打开“统计分析”界面时不会出现图表区域空白的效果,滑动快速导航窗口1041时,该窗口下端的屏幕区域1042必然会闪屏;而为了实现滑动快速导航窗口1041时,该窗口下端的屏幕区域1042不出现闪屏效果,打开“统计分析”界面时又必然会出现图表区域空白。即,现有技术中在面对本场景时无法兼顾“统计分析”界面中图表区域不空白和滑动快速导航窗口1041时下端屏幕不闪屏两种效果。
如果采用本公开实施例提供的技术方案,面对本场景时,在确保“统计分析”界面具有图表区域不空白的效果的前提下,可以动态地选取开启了硬件加速功能的且存活的页面作为弹窗的代理宿主,同时确保滑动快速导航窗口1041时具有下端屏幕不闪屏的效果。即,本公开实施例在面对本场景时可以兼顾“统计分析”界面中图表区域不空白和滑动快速导航窗口1041时下端屏幕不闪屏两种效果。
根据本公开的实施例,本公开提供了一种弹窗处理方法。
图2示例性示出了根据本公开实施例的弹窗处理方法的流程图。
如图2所示,方法200可以包括响应于接收到基于当前页面的弹窗打开操作,执行操作S210~ S240。
在操作S210,基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面。
在操作S220,从至少一个目标页面中选取用于构建弹窗的代理宿主。
在操作S230,以代理宿主为弹窗宿主,构建对应的弹窗。
在操作S240,将构建的弹窗展示在当前页面上。
在本公开实施例中,对于任意一个网络页面,不管其硬件加速功能是打开的还是关闭的,只要检测到有基于当前页面的弹窗打开操作,就可以执行上述的操作S210~ S240,从而从当前已打开且用户未主动关闭的一个或者多个页面中选取开启了硬件加速功能的一个页面以作为创建弹窗所用的代理宿主。由此可以兼顾特定界面中图表区域不空白和滑动弹窗时下端屏幕不闪屏两种效果。
应该理解,在本公开一个实施例中,操作S210中所指的至少一个已打开且用户未主动关闭的页面与当前页面可以是同一应用程序中的页面,也可以是不同应用程序中的页面,本公开在此不做限定。
此外,作为一种可选的实施例,上述的至少一个已打开且未被主动关闭的页面可以包括当前页面或者不包括当前页面。
需要说明的是,上述在包括当前页面的情况下,无论当前页面的硬件加速功能是打开的还是关闭的,只要检测到有基于当前页面的弹窗打开操作,就可以执行上述的操作S210~ S240,从而从截止到当前所有已打开且用户未主动关闭的一个或者多个页面中选取开启了硬件加速功能的一个页面以作为创建弹窗所用的代理宿主。应该理解,本方案尤其适应于不需要提前确定当前页面的硬件加速功能已关闭还是已打开的场景。本公开实施例通过代理宿主的方式创建弹窗,使得无论当前页面是否关闭了硬件加速,滑动弹窗中的列表时(即滑动弹窗时)都不会出现闪屏现象。
或者,上述在不包括当前页面的情况下,无论当前页面的硬件加速功能是打开的还是关闭的,只要检测到有基于当前页面的弹窗打开操作,就可以执行上述的操作S210~S240,从而从在当前页面之前已打开且用户未主动关闭的一个或者多个页面中选取开启了硬件加速功能的一个页面以作为创建弹窗所用的代理宿主。应该理解,本方案尤其适应于确定当前页面的硬件加速功能已关闭的场景。
作为一种可选的实施例,该方法还可以包括:在基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面之前,执行以下操作。
确定当前页面的硬件加速功能是否被关闭了。
其中,响应于确定当前页面的硬件加速功能被关闭了,执行基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面的操作。
进一步,作为一种可选的实施例,该方法还可以包括:响应于确定当前页面的硬件加速功能被打开了,直接以当前页面为弹窗宿主,构建对应的弹窗,并将构建的弹窗展示在当前页面上。
在本公开实施例中,响应于接收到基于当前页面的弹窗打开操作,在为弹窗选择代理宿主之前,即在基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面之前,可以先确定当前页面的硬件加速功能是否被关闭了。如果当前页面的硬件加速功能被关闭了,则为弹窗选择代理宿主;如果当前页面的硬件加速功能被打开了 ,则不再为弹窗选择代理宿主,而是直接以当前页面为宿主构建弹窗。由此,在当前页面的硬件加速功能被打开的情况下,可以省去选择代理宿主的相关操作,因而可以提高弹窗构建效率。而在当前页面的硬件加速功能被关闭的情况下,可以执行选择代理宿主的相关操作,因而可以确保特定界面中图表区域不空白和滑动弹窗时下端屏幕不闪屏两种效果得以兼顾。
此外,作为一种可选的实施例,从上述的至少一个目标页面中选取用于构建弹窗的代理宿主,可以包括:先从该至少一个目标页面中选取至少一个处于存活状态的候选页面,再从该至少一个处于存活状态的候选页面中选取用于构建弹窗的代理宿主。
由于***对同时打开的页面数量是有限制的,一旦同时打开的页面数量超出预先设定的阈值,则***会杀死其中的一部分页面以限制后台存活页面的数量。可见,其实无法保证上述已打开且用户未主动关闭的页面都是存活页面。
因此,如果仅仅从已打开且用户未主动关闭的页面中选择其中硬件加速功能被打开的至少一个目标页面,并从该至少一个目标页面中选择其中的一个页面作为弹窗的代理宿主,则存在被选中的页面是非存活页面的可能,这种情况下不仅无法兼容前文所述的两种效果,而且还可能导致弹窗创建失败。为了解决该问题,在本公开的一些实施例中,在筛选出上述的至少一个目标页面后,还可以先做一次二次筛选,再从二次筛选结果中选取其中的一个页面作为用于构建弹窗的代理宿主,即可以先从该至少一个目标页面中选取至少一个处于存活状态的候选页面,再从该至少一个处于存活状态的候选页面中选取其中的一个页面作为用于构建弹窗的代理宿主。
此外,作为一种可选的实施例,该方法还可以包括如下操作。
用户每打开一个页面都将其存入指定的队列或者堆栈中。
用户每关闭一个页面都将其从上述的队列或者堆栈中删除。
其中,基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面,包括:从队列的尾部或者头部开始遍历,确定其中硬件加速功能被打开的至少一个页面以作为至少一个目标页面。
在本公开的一些实施例中,可以将用户打开的页面按照打开页面的时间顺序依次存入指定的队列或者堆栈中,并且用户每关闭一个页面都将其从上述的队列或者堆栈中删除,由此,可以将上述队列或者堆栈中的所有页面作为前文中所指的至少一个已打开且未被主动关闭的页面,然后从中确定出硬件加速功能被打开的至少一个目标页面。
通过本公公开实施例,可以简单、快速地找出哪些页面是用户当前已打开且未主动关闭的,因而可以提高弹窗创建效率。
进一步,作为一种可选的实施例,从上述的至少一个目标页面中选取用于构建弹窗的代理宿主,可以包括:选取该至少一个目标页面中位置最靠近队列的尾部的一个页面以作为用于构建弹窗的代理宿主。
如前文所述,由于***对同时打开的页面数量是有限制的,一旦同时打开的页面数量超出预先设定的阈值,则***会杀死其中的一部分页面以限制后台存活页面的数量。可见,其实无法保证上述已打开且用户未主动关闭的页面都是存活页面。
因此,如果仅仅从已打开且用户未主动关闭的页面中选择其中硬件加速功能被打开的至少一个目标页面,并从该至少一个目标页面中选择其中的一个页面作为弹窗的代理宿主,则存在被选中的页面是非存活页面的可能,这种情况下不仅无法兼容前文所述的两种效果,而且还可能导致弹窗创建失败。为了解决该问题,在本公开的另一些实施例中,还可以将用户打开的页面按照打开页面的时间顺序依次存入指定的队列中,并且用户每关闭一个页面都将其从上述的队列中删除,由于***在杀死后台页面时通常是按照页面打开的时间顺序从前往后查杀的,因此,在创建弹窗时,按照上述的至少一个目标页面在队列中的存入位置,可以选取其中最靠近队尾的即最晚打开的页面以作为用于构建弹窗的代理宿主。由此也可以确保被选中的页面是存活页面,进而可以确保能够成功创建弹窗,且滑动弹窗中的列表时不会出现闪屏现象。
以下以一个具体实施例详细阐述本公开。
如图3所示,本实施例包括如下操作。
在操作S310,以企业详情中的专利信息页为例,常规进入专利信息页需要先打开企业查询APP进入首页,此时可以把该首页添加到指定的队列中。
在操作S320,然后从首页搜索某个公司(此公司需要有相关的专利信息),点击搜索结果就可以进入公司详情页,此时可以再把该公司详情页添加到前述指定的队列中。
在操作S330,如果从上述的公司详情页退出,则需要从前述指定的队列中移除此页面,以此种方式保证队列中都是存活的页面(此处不包括***可能杀死一些后台页面的情况)。
应该理解,本实施例中,“常规”的定义为:一个普通用户使用APP的操作习惯;“队列”的定义为:一种数据结构,可以保存多个数据;“存活”的定义为:进入目标页面前非用户主动关闭的页面均为存活页面。
在操作S340,由于Android***有限制后台存活页面的个数,因此从队列中由后向前递归查找最近打开且未关闭硬件加速功能的页面作为代理宿主。
应该理解,本实施例中,“宿主”的定义为:每一个存活的页面就可以理解为一个宿主。
在操作S350,构建弹窗时,有一个必传的参数就是宿主,把通过操作S304查找到的未关闭硬件加速功能的代理宿主的context(根基)传进去即可实现宿主代理。
在操作S360,调用弹窗的展示方法就可以展示在当前页面(借用了代理宿主创建弹窗,但是弹窗依旧展示在当前页面上),展示后的效果可以参考图1F。应该理解,尤其对于低配版手机而言,如果当前页面关闭了硬件加速功能,那么采用现有技术中的弹窗实现方案,即直接使用当前页面作为宿主创建弹窗,则滑动弹窗中的列表时就可能会感觉到屏幕下端区域闪烁,而使用本公开实施例提供的以代理宿主创建弹窗的实现方案,滑动弹窗中的列表时就不会感觉到屏幕下端区域闪烁。
通过本公开实施例,一方面,弹窗不再一定依赖当前宿主(即当前页面)才能弹出,使得弹窗的使用更加灵活;另一方面,弹窗的宿主通过动态代理的方式实现,使其不再受弹窗下宿主是否打开硬件加速功能得影响,因而可以有效避免一些特殊场景的发生(例如闪屏)。
此外,本公开实施例通过队列记录存活页面,这样就可以跳过必须通过在宿主中打开窗口的传统方式来实现弹窗。并且,通过代理宿主替换当前页面(即原宿主)的形式,可以避免在当前页面关闭了硬件加速功能得情况下弹出窗口并滑动窗口中的列表时会出现闪屏现象。
根据本公开的实施例,本公开还提供了一种弹窗处理装置。
图4示例性示出了根据本公开实施例的弹窗处理装置的框图。
如图4所示,装置400 包括执行模块401,用于响应于接收到基于当前页面的弹窗打开操作,通过以下单元执行对应的操作。
确定单元4011,用于基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面。
选取单元4012,用于从至少一个目标页面中选取用于构建弹窗的代理宿主。
构建单元4013,用于以代理宿主为弹窗宿主,构建对应的弹窗。
展示单元4014,用于将构建的弹窗展示在当前页面上。
作为一种可选的实施例,该装置还包括:确定模块,用于在该基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面之前,确定该当前页面的硬件加速功能是否被关闭了。其中,确定单元,还用于响应于确定该当前页面的硬件加速功能被关闭了,执行该基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面的操作。
进一步,作为一种可选的实施例,该装置还包括:构建模块,用于响应于确定该当前页面的硬件加速功能被打开了,直接以该当前页面为弹窗宿主,构建对应的弹窗,并将构建的弹窗展示在该当前页面上。
此外,选取单元还用于:先从该至少一个目标页面中选取至少一个处于存活状态的候选页面,再从该至少一个处于存活状态的候选页面中选取用于构建弹窗的代理宿主。
作为一种可选的实施例,该装置还包括如下模块。存储模块,用于用户每打开一个页面都将其存入指定的队列中。删除模块,用于用户每关闭一个页面都将其从该队列中删除。其中,该确定单元还用于:从该队列的尾部开始遍历,确定其中硬件加速功能被打开的至少一个页面以作为该至少一个目标页面。
进一步,作为一种可选的实施例,选取单元还用于:选取该至少一个目标页面中位置最靠近该队列的尾部的一个页面以作为用于构建弹窗的代理宿主。
作为一种可选的实施例,该至少一个已打开且未被主动关闭的页面包括该当前页面或者不包括该当前页面。
应该理解,本公开的装置实施例与本公开的方法实施例对应相同或类似,所解决的技术问题以及所达到的技术效果也对应相同或类似,本公开实施例在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储电子设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
电子设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如弹窗处理方法。例如,在一些实施例中,弹窗处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的弹窗处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行弹窗处理方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (10)
1.一种弹窗处理方法,其特征在于,包括:响应于接收到基于当前页面的弹窗打开操作,
基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面;
从所述至少一个目标页面中选取用于构建弹窗的代理宿主;
以所述代理宿主为弹窗宿主,构建对应的弹窗;以及
将构建的弹窗展示在所述当前页面上。
2.根据权利要求1所述的方法,还包括:在所述基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面之前,
确定所述当前页面的硬件加速功能是否被关闭了;
其中,响应于确定所述当前页面的硬件加速功能被关闭了,执行所述基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面的操作。
3.根据权利要求2所述的方法,还包括:
响应于确定所述当前页面的硬件加速功能被打开了,直接以所述当前页面为弹窗宿主,构建对应的弹窗,并将构建的弹窗展示在所述当前页面上。
4.根据权利要求1所述的方法,其中,从所述至少一个目标页面中选取用于构建弹窗的代理宿主,包括:
先从所述至少一个目标页面中选取至少一个处于存活状态的候选页面,再从所述至少一个处于存活状态的候选页面中选取用于构建弹窗的代理宿主。
5.根据权利要求1所述的方法,还包括:
用户每打开一个页面都将其存入指定的队列中;
用户每关闭一个页面都将其从所述队列中删除;
其中,所述基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面,包括:
从所述队列的尾部开始遍历,确定其中硬件加速功能被打开的至少一个页面以作为所述至少一个目标页面。
6.根据权利要求5所述的方法,其中,从所述至少一个目标页面中选取用于构建弹窗的代理宿主,包括:
选取所述至少一个目标页面中位置最靠近所述队列的尾部的一个页面以作为用于构建弹窗的代理宿主。
7.根据权利要求1所述的方法,其中,所述至少一个已打开且未被主动关闭的页面包括所述当前页面或者不包括所述当前页面。
8.一种弹窗处理装置,其特征在于,包括执行模块,用于响应于接收到基于当前页面的弹窗打开操作,通过以下单元执行对应的操作:
确定单元,用于基于至少一个已打开且未被主动关闭的页面,确定其中硬件加速功能被打开的至少一个目标页面;
选取单元,用于从所述至少一个目标页面中选取用于构建弹窗的代理宿主;
构建单元,用于以所述代理宿主为弹窗宿主,构建对应的弹窗;以及
展示单元,用于将构建的弹窗展示在所述当前页面上。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148262.7A CN114238821B (zh) | 2022-02-18 | 2022-02-18 | 弹窗处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148262.7A CN114238821B (zh) | 2022-02-18 | 2022-02-18 | 弹窗处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114238821A CN114238821A (zh) | 2022-03-25 |
CN114238821B true CN114238821B (zh) | 2022-04-29 |
Family
ID=80747565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210148262.7A Active CN114238821B (zh) | 2022-02-18 | 2022-02-18 | 弹窗处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238821B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226570B (zh) * | 2022-12-06 | 2024-05-10 | 贝壳找房(北京)科技有限公司 | 展示浮层的方法、装置、电子设备及介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8146013B2 (en) * | 2005-07-26 | 2012-03-27 | International Business Machines Corporation | Allowing authorized pop-ups on a website |
US8762883B2 (en) * | 2009-01-30 | 2014-06-24 | Oracle International Corporation | Manipulation of window controls in a popup window |
CN107391115B (zh) * | 2017-06-28 | 2018-10-23 | 武汉斗鱼网络科技有限公司 | 一种实现弹窗交互事件的方法、装置及计算机设备 |
CN110297635B (zh) * | 2019-06-27 | 2023-05-16 | 百度在线网络技术(北京)有限公司 | 页面的显示方法、装置、设备以及存储介质 |
CN112527424A (zh) * | 2019-09-19 | 2021-03-19 | 北京国双科技有限公司 | 用于弹窗的控制方法及装置 |
CN111475750B (zh) * | 2020-03-04 | 2021-05-28 | 百度在线网络技术(北京)有限公司 | 页面预加载控制方法、装置、***、设备和存储介质 |
CN112346796A (zh) * | 2020-09-25 | 2021-02-09 | 北京淇瑀信息科技有限公司 | 一种弹窗收纳显示方法、装置和电子设备 |
CN112394869B (zh) * | 2020-10-16 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 基于车载终端的小程序控制方法、装置、设备及存储介质 |
CN112861044B (zh) * | 2021-02-09 | 2022-10-28 | 苏州达家迎信息技术有限公司 | 页面的展示控制方法、装置、计算机设备及存储介质 |
-
2022
- 2022-02-18 CN CN202210148262.7A patent/CN114238821B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114238821A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10585923B2 (en) | Generating search keyword suggestions from recently used application | |
EP3905122A2 (en) | Video type detection method, apparatus, electronic device and storage medium | |
CN114115681B (zh) | 页面生成方法及装置、电子设备和介质 | |
CN113033346B (zh) | 文本检测方法、装置和电子设备 | |
CN114238821B (zh) | 弹窗处理方法及装置 | |
CN113657518A (zh) | 训练方法、目标图像检测方法、装置、电子设备以及介质 | |
CN113392660B (zh) | 页面翻译方法、装置、电子设备及存储介质 | |
CN115296917B (zh) | 资产暴露面信息获取方法、装置、设备以及存储介质 | |
CN116244703A (zh) | 模糊测试的方法和装置 | |
CN114842476A (zh) | 水印检测方法及装置、模型训练方法及装置 | |
CN112597377A (zh) | 信息提取模块生成方法、信息提取方法及装置 | |
CN113515210A (zh) | 一种显示方法、装置、电子设备以及存储介质 | |
CN112560987A (zh) | 图像样本处理方法、装置、设备、存储介质和程序产品 | |
CN115310016B (zh) | 一种网页界面展示方法、装置、设备和存储介质 | |
CN114428646B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN115309375B (zh) | 应用程序编程接口的处理方法、装置、电子设备及介质 | |
CN114979471B (zh) | 界面显示方法、装置、电子设备及计算机可读存储介质 | |
EP4086905B1 (en) | Voice activity detection method and apparatus, electronic device and storage medium | |
CN117118879B (zh) | 网络协议漏洞挖掘方法、装置、设备以及存储介质 | |
CN116361399B (zh) | 知识推理方法、装置、设备和介质 | |
US20240111406A1 (en) | Processing method and apparatus, and electronic device | |
CN113723120B (zh) | 参考信息的展示方法、装置和电子设备 | |
US20220301131A1 (en) | Method and apparatus for generating sample image | |
US20240013364A1 (en) | Image-based vehicle damage assessment method, apparatus and storage medium | |
US20230359339A1 (en) | Method and device of providing adaptive user interface based on user functional elements |
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 |