A pop-up window management method and related device

By constructing a plug-in chain mechanism and a pop-up fusion strategy, the problems of uncontrollable behavior, severe stacking, and missing lifecycle in existing pop-up management are solved, realizing dynamic control and intelligent scheduling of pop-up display, improving user experience and system maintenance efficiency.

CN122240231APending Publication Date: 2026-06-19BEIJING SOHU NEW MOMENTUM INFORMATION TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING SOHU NEW MOMENTUM INFORMATION TECH CO LTD
Filing Date
2026-05-14
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Existing pop-up management technologies lack scalable behavior control mechanisms, resulting in uncontrollable pop-up display behavior, decreased user experience, and increased system maintenance complexity. They cannot achieve dynamic control of pop-up display behavior, cannot effectively handle the problem of multiple pop-ups stacking, and lack refined management of the pop-up lifecycle.

Method used

By constructing a plug-in chain mechanism, the control of pop-up display behavior is abstracted into a pluggable plug-in interface, providing pop-up fusion strategies to achieve dynamic control of pop-up display, automatic merging of similar pop-ups, intelligent scheduling of display order, and fine-grained management of the life cycle.

Benefits of technology

It improves the flexibility, maintainability, and user interaction efficiency of pop-up management, reduces user interference, optimizes user experience, and enables personalized and intelligent pop-up display.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122240231A_ABST
    Figure CN122240231A_ABST
Patent Text Reader

Abstract

This application provides a pop-up management method and related apparatus, relating to the field of software technology. The method includes: obtaining a first pop-up object to be displayed in the current round, and determining a plug-in chain for the first pop-up object to control its display behavior. The plug-in chain includes a first plug-in for filtering pop-ups and a second plug-in for scheduling pop-ups. The method involves running the first plug-in to determine whether the first pop-up object can be displayed; if the first pop-up object can be displayed and a second pop-up object is currently being displayed, running the second plug-in to determine whether the first pop-up object can be added to a queue; if the first pop-up object can be added to the queue, adding it to the pop-up object queue, which serves as the basis for the next round of display after the second pop-up object is closed. This application abstracts pop-up display behavior control into a pluggable plug-in chain, making the display logic highly configurable and programmable, thereby solving the problem of missing behavior control.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of software technology, and in particular to a pop-up window management method and related apparatus. Background Technology

[0002] As modern application systems become increasingly complex, pop-ups, as an important interactive element in user interfaces, are widely used in scenarios such as notification prompts, marketing promotions, user guidance, and system feedback. Especially in e-commerce platforms, enterprise-level SaaS, mobile applications, and game systems, pop-ups have become a key means to improve user conversion rates and interaction efficiency.

[0003] Current pop-up management technologies mainly use static configuration or hard coding to handle pop-up display logic, lacking an extensible behavior control mechanism and failing to achieve dynamic control of pop-up display behavior. Summary of the Invention

[0004] In view of the above problems, this application provides a pop-up window management method and related device to solve the problem of lack of behavior control. The specific solution is as follows:

[0005] The first aspect of this application provides a pop-up window management method, the pop-up window management method comprising:

[0006] Obtain the first pop-up object displayed in this round, and determine the plug-in chain of the first pop-up object for controlling the pop-up display behavior. The plug-in chain includes a first plug-in for filtering pop-ups and a second plug-in for scheduling pop-ups.

[0007] Run the first plugin to determine whether the first pop-up object can be displayed;

[0008] If the first pop-up object is displayable and there is a second pop-up object that is being displayed, run the second plugin to determine whether the first pop-up object can be added to the queue;

[0009] If the first pop-up object can be added to the queue, the first pop-up object is added to the pop-up object queue. The pop-up object queue is the basis for the next round of display after the second pop-up object is closed.

[0010] In one possible implementation, the plugin chain further includes a third plugin for adjusting the queue, and the pop-up management method further includes:

[0011] The third plugin is run to adjust the pop-up object queue, and if the first pop-up object is a delayed pop-up object, the first pop-up object is marked accordingly in the pop-up object queue.

[0012] In one possible implementation, the plugin chain further includes hook interfaces set for key nodes in the pop-up lifecycle, the key nodes including first key nodes before and after display, and the pop-up management method further includes:

[0013] If the first pop-up object is displayable and the second pop-up object does not exist, display the first pop-up object and obtain the working information of the first pop-up object at the first key node through the hook interface under the first key node.

[0014] In one possible implementation, the key node includes a second key node before and after closing, and the pop-up management method further includes:

[0015] In response to the pop-up close command, the first pop-up object is closed, and the working information of the first pop-up object in the second key node is obtained through the hook interface under the second key node.

[0016] In one possible implementation, the plugin chain further includes a fourth plugin for filtering the queue and a fifth plugin for sorting the queue, and the pop-up management method further includes:

[0017] The fourth plugin is run to determine whether the pop-up objects in the pop-up object queue can be displayed, and filters out the pop-up objects that cannot be displayed.

[0018] If the filtered pop-up object queue is not empty, the fifth plugin is run to sort the pop-up objects in the filtered pop-up object queue. The first pop-up object in the sorted pop-up object queue is used for the next round of display.

[0019] In one possible implementation, the plugin chain further includes a sixth plugin for merging pop-ups, and before the fifth plugin sorts the pop-up objects in the filtered pop-up object queue, the pop-up management method further includes:

[0020] The sixth plugin is run to identify target pop-up objects in the filtered pop-up object queue that meet the preset fusion conditions, and then merges the target pop-up objects into a single pop-up object.

[0021] A second aspect of this application provides a pop-up window management device, the pop-up window management device comprising:

[0022] The pop-up acquisition module is used to acquire the first pop-up object displayed in this round and determine the plug-in chain of the first pop-up object for controlling the pop-up display behavior. The plug-in chain includes a first plug-in for filtering pop-ups and a second plug-in for scheduling pop-ups.

[0023] The pop-up management module is used to run the first plugin to determine whether the first pop-up object can be displayed; if the first pop-up object can be displayed and there is a second pop-up object that is being displayed, run the second plugin to determine whether the first pop-up object can be added to the queue; if the first pop-up object can be added to the queue, add the first pop-up object to the pop-up object queue, and the pop-up object queue is the basis for the next round of display after the second pop-up object is closed.

[0024] A third aspect of this application provides a computer program product including computer-readable instructions that, when executed on an electronic device, cause the electronic device to implement the pop-up management method of the first aspect or any implementation thereof.

[0025] A fourth aspect of this application provides an electronic device, including at least one processor and a memory connected to the processor, wherein:

[0026] The memory is used to store computer programs;

[0027] The processor is used to execute the computer program so that the electronic device can implement the pop-up management method of the first aspect or any implementation thereof.

[0028] The fifth aspect of this application provides a computer storage medium carrying one or more computer programs, which, when executed by an electronic device, enable the electronic device to implement the pop-up management method described in the first aspect or any implementation thereof.

[0029] By employing the above technical solutions, this application provides a pop-up management method and related apparatus, comprising: obtaining a first pop-up object to be displayed in the current round, and determining a plug-in chain for the first pop-up object to control the pop-up display behavior, the plug-in chain including a first plug-in for filtering pop-ups and a second plug-in for scheduling pop-ups; running the first plug-in to determine whether the first pop-up object can be displayed; if the first pop-up object can be displayed and there is a second pop-up object that is being displayed, running the second plug-in to determine whether the first pop-up object can be added to a queue; if the first pop-up object can be added to the queue, adding the first pop-up object to the pop-up object queue, the pop-up object queue being the basis for the next round of display after the second pop-up object is closed. This application abstracts the pop-up display behavior control into a pluggable plug-in chain, determining whether a pop-up object can be displayed before displaying it, and adding the pop-up object to the pop-up object queue when it can be displayed and there are other pop-up objects that have already been displayed, for use in the next round of display. This makes the display logic highly configurable and programmable, thereby solving the problem of lack of behavior control. Attached Figure Description

[0030] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent when taken in conjunction with the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.

[0031] Figure 1 A flowchart illustrating a pop-up management method provided in an embodiment of this application;

[0032] Figure 2 This is a schematic diagram of the structure of a pop-up management device provided in an embodiment of this application;

[0033] Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0034] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is for explaining specific embodiments only and is not intended to limit the scope of this application.

[0035] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.

[0036] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.

[0037] Existing pop-up management technologies suffer from several structural flaws in practical applications. These flaws directly lead to uncontrollable pop-up display behavior, degraded user experience, and increased system maintenance complexity. The root cause lies in the fact that existing technologies generally use static configuration or hard-coding to handle pop-up display logic, lacking scalable behavior control mechanisms and a unified pop-up scheduling architecture.

[0038] First, existing technologies cannot achieve dynamic control over pop-up display behavior. Key behaviors such as whether a pop-up is displayed, when it is displayed, and its display frequency are usually directly determined by business logic, lacking a unified strategy entry point. This results in pop-up logic being scattered across multiple modules, making it difficult to maintain and impossible to flexibly adjust display strategies based on user behavior or system status. This application, however, abstracts pop-up display behavior control into a pluggable plugin interface through a plugin chain mechanism, giving the display logic high configurability and programmability, thereby solving the problem of missing behavior control.

[0039] Secondly, existing technologies cannot effectively handle the problem of multiple pop-up windows stacking. When multiple pop-ups are triggered simultaneously, the system typically displays them one by one in sequence, leading to interface obstruction, information redundancy, and user interference. Although some systems support pop-up queues, they lack content aggregation capabilities and cannot identify and merge similar pop-ups. This application, through a pop-up fusion mechanism, automatically identifies mergeable pop-ups and generates a merged pop-up object during the queue processing stage, achieving unified display and centralized interaction, effectively alleviating the pop-up stacking problem.

[0040] Furthermore, existing technologies lack granular management of the pop-up lifecycle. Key nodes such as before and after display and before and after closing cannot be perceived by the business logic, resulting in a disconnect between pop-up behavior and business processes, making it difficult to achieve coordinated control. This application provides a complete lifecycle hook interface, allowing plugins to intervene in pop-up behavior at each stage, thereby achieving deep integration between pop-ups and business logic.

[0041] To address the technical problems in existing pop-up management technologies, such as uncontrollable display behavior, severe pop-up stacking, content redundancy, and missing lifecycle information, this application constructs a plug-in chain mechanism and pop-up fusion strategy to achieve dynamic control of pop-up display, automatic merging of similar pop-ups, intelligent scheduling of display order, and refined lifecycle management, thereby improving the flexibility, maintainability, and user interaction efficiency of pop-up management.

[0042] See Figure 1 , Figure 1 This is a flowchart illustrating a pop-up management method provided in an embodiment of this application. Figure 1 As shown in the figure, the pop-up management method provided in this application embodiment may include steps S101 to S104, which are described in detail below.

[0043] S101, obtain the first pop-up object displayed in this round, and determine the plug-in chain of the first pop-up object used to control the pop-up display behavior. The plug-in chain includes a first plug-in for filtering pop-ups and a second plug-in for scheduling pop-ups.

[0044] In this embodiment, the newly received first pop-up object includes a pop-up identifier, priority, group identifier, and metadata. When a pop-up object queue exists, the first pop-up object is the first pop-up object in the queue; when a pop-up object queue does not exist, the first pop-up object is a newly received pop-up object from the user.

[0045] Furthermore, a plugin chain that has been constructed for the first pop-up object to control its pop-up display behavior is identified. All control logic of this plugin chain is implemented through plugins, which are executed according to priority, including a first plugin for filtering pop-ups and a second plugin for scheduling pop-ups.

[0046] It should be noted that the plugin chain allows developers to intervene in the various lifecycles and queue processing flows of pop-ups through plugins. All plugins are executed according to priority. Before, during, and after the pop-up object is displayed, a series of strategy judgments and intervention mechanisms are used to control the behavior of whether the pop-up object is displayed, when it is displayed, the frequency of display, and the order of display. This can reduce user interference, improve the pop-up hit rate, and achieve personalized and intelligent pop-up display.

[0047] S102, run the first plugin to determine whether the first pop-up object can be displayed.

[0048] In this embodiment of the application, the control logic of the first plugin, such as the shouldDisplay(popup, queue) method, determines whether the first pop-up object can be displayed. This determination can be made by combining factors such as display frequency, display time period, user behavior, and permissions.

[0049] For example, the first plugin determines whether a pop-up object can be displayed by controlling the display frequency or the display time period. Specifically, the purpose of display frequency control is to limit the number of times a certain type of pop-up object can be displayed within a certain period of time. The first plugin reads the pop-up identifier or group identifier in shouldDisplay(popup, queue), queries the local cache or backend records, determines whether the pop-up object is in a cooldown period, and returns false to prevent display if the cooldown period has not ended. The purpose of display time period control is to control the pop-up object to be displayed only during a specific time period. The first plugin reads the current system time and compares it with the allowed time range of the first pop-up object. If the current system time is not within the allowed time range, it returns false to prevent display.

[0050] S103, if the first pop-up object can be displayed and there is a second pop-up object that is being displayed, run the second plugin to determine whether the first pop-up object can be added to the queue.

[0051] In this embodiment, if the first pop-up object can be displayed, it is further checked whether a second pop-up object is currently being displayed. If a second pop-up object is currently being displayed, the control logic of the second plugin is executed, such as the canAddQueue(popup, queue) method, to determine whether the first pop-up object can be added to the queue.

[0052] For example, the first pop-up object is only displayed after the user completes certain actions. The second plugin listens for relevant business events (such as placing an order, logging in, or browsing a page). After the business event is triggered, it determines whether the first pop-up object can be added to the queue.

[0053] S104. If the first pop-up object can be added to the queue, add the first pop-up object to the pop-up object queue. The pop-up object queue is the basis for the next round of display after the second pop-up object is closed.

[0054] In this embodiment of the application, if the first pop-up object can be added to the queue, then the first pop-up object is added to the pop-up object queue. The pop-up object queue is the basis for the next round of display after the second pop-up object is closed. Specifically, after the second pop-up object is closed, the first pop-up object in the pop-up object queue can be passed in for the next round of display.

[0055] In one possible implementation, the display order of pop-ups can be dynamically adjusted based on business weight or user behavior. To this end, this application provides a pop-up management method, wherein the plugin chain further includes a third plugin for adjusting the queue, and the pop-up management method further includes the following steps:

[0056] The third plugin is run to adjust the pop-up object queue, and if the first pop-up object is a delayed pop-up object, the first pop-up object is marked accordingly in the pop-up object queue.

[0057] In this embodiment of the application, after the first pop-up object is added to the pop-up object queue, the control logic of the third plugin can be run, such as the pooupChange(queue) method to adjust the pop-up object queue. Specifically, the third plugin can combine user profiles and business metrics (such as click-through rate) to perform weighted sorting of all pop-up objects in the pop-up object queue. In practical applications, the priority of different pop-up objects can be recalculated in the sort(queue) method to achieve weighted sorting.

[0058] Additionally, for certain types of pop-up objects, it is necessary to display them after a specific delay to avoid interrupting the user's current operation. To address this, after adjusting the pop-up object queue, if the first pop-up object is a delayed pop-up object, it can be marked as a delayed pop-up object in the `pooupChange(queue)` method to achieve a delayed display of the first pop-up object.

[0059] In one possible implementation, setting hook interfaces allows for intervention in pop-up behavior at various stages of the pop-up's lifecycle, achieving deep integration between the pop-up and business logic. To this end, this application provides a pop-up management method, wherein the plugin chain further includes hook interfaces set for key nodes in the pop-up's lifecycle, including a first key node before and after display. The pop-up management method also includes the following steps:

[0060] If the first pop-up object is displayable and the second pop-up object does not exist, display the first pop-up object and obtain the working information of the first pop-up object at the first key node through the hook interface under the first key node.

[0061] In this embodiment, during the lifecycle of the first pop-up object, the nodes before and after its display can be considered as the first key nodes, and corresponding hook interfaces can be set for these first key nodes to collect the working information of the first pop-up object before and after its display. Specifically, if the first pop-up object is displayable and there is no second pop-up object, the working information of the first pop-up object before its display is collected through the pre-display hook interface, such as the hook(show_before) hook; the show() method of the first pop-up object is then called to display the pop-up, setting the first pop-up object as the current pop-up object currentPopup; finally, the post-display hook interface, such as the hook(show_after) hook, is called to collect the working information of the first pop-up object after its display.

[0062] Of course, if the first pop-up object needs to be displayed after a specific delay, a timer can be set in the hook(show_before) to achieve this, but this application embodiment does not limit this.

[0063] In one possible implementation, pop-up behavior can be integrated before and after the pop-up is closed by setting a hook interface. To this end, this application provides a pop-up management method, wherein the key nodes include second key nodes before and after closing, and the pop-up management method further includes the following steps:

[0064] In response to the pop-up close command, close the first pop-up object, and obtain the working information of the first pop-up object in the second key node through the hook interface under the second key node.

[0065] In this embodiment, during the lifecycle of the first pop-up object, the nodes before and after its closure can be considered as second key nodes. Corresponding hook interfaces are set for these second key nodes to collect the working information of the first pop-up object before and after closure. First, it checks whether the current pop-up object `currentPopup` exists, i.e., whether the first pop-up object is currently displayed. If `currentPopup` exists, it calls the hook interface before closure, such as `hook(close_before)`, to collect the working information of the first pop-up object before closure. Then, it calls the `dismiss()` method of the first pop-up object to close the pop-up. Finally, it calls the hook interface after closure, such as `hook(close_after)`, to collect the working information of the first pop-up object after closure, further clears the current pop-up object `currentPopup`, and calls the `showNext()` method to trigger the display of the next pop-up object in the pop-up object queue.

[0066] In one possible implementation, filtering and sorting can be achieved by manipulating the queue contents, making the pop-up object queue adaptable to the business scenario. To this end, this application provides a pop-up management method, wherein the plugin chain further includes a fourth plugin for filtering the queue and a fifth plugin for sorting the queue. The pop-up management method also includes the following steps:

[0067] The fourth plugin is run to determine whether the pop-up objects in the pop-up object queue can be displayed, and filters out the pop-up objects that cannot be displayed. If the pop-up object queue after filtering is not empty, the fifth plugin is run to sort the pop-up objects in the filtered pop-up object queue. The first pop-up object in the sorted pop-up object queue is used for the next round of display.

[0068] In this embodiment, the control logic of the fourth plugin, such as the `shouldDisplay(popup, queue)` method, determines whether each popup object in the popup object queue can be displayed, and further filters out popup objects that cannot be displayed. This can be determined by combining factors such as display frequency, display time period, user behavior, and permissions. The control logic of the fourth plugin can be the same as or different from the control logic of the first plugin; this embodiment does not limit this.

[0069] If the filtered pop-up object queue is not empty, the control logic of the fifth plugin is executed, such as the sort(queue) method, to sort all the pop-up objects in the filtered pop-up object queue. The specific sorting can be based on actual business needs. For example, if a limit is set on the number of pop-up objects in the queue, the pop-up objects that were added earliest and exceed the limit can be deleted.

[0070] After obtaining the sorted pop-up object queue, you can clear the original pop-up object queue and re-add the sorted pop-up object queue. The first pop-up object at the head of the pop-up object queue is displayed by calling the show() method.

[0071] In one possible implementation, to improve information density, reduce user interference, and enhance interaction efficiency, embodiments of this application can further merge similar pop-up objects in the pop-up object queue into a unified, displayed pop-up object. To this end, embodiments of this application provide a pop-up management method, wherein the plugin chain further includes a sixth plugin for merging pop-ups. Before the fifth plugin sorts the pop-up objects in the filtered pop-up object queue, the pop-up management method further includes the following steps:

[0072] The sixth plugin is run to identify target pop-up objects that meet the preset fusion conditions in the filtered pop-up object queue, and then merges the target pop-up objects into a single pop-up object.

[0073] In this embodiment, the control logic of the sixth plugin (such as MergePlugin) is executed. Assuming the preset merging condition is that pop-up objects in the same group can be merged, for the filtered pop-up object queue, multiple pop-up objects belonging to the same group can be determined based on their group identifiers. These multiple pop-up objects belonging to the same group are then used as the target pop-up objects. Further, the target pop-up objects are merged into one pop-up object to obtain the merged pop-up object. In practical applications, a MergePopup object can be created as the merged pop-up object. This MergePopup object includes the showCallback() and closeCallback() methods, used to notify the original pop-up object queue of its display and closure. When the merged pop-up object is displayed, showCallback(group) is triggered, which can be used to display the aggregated view; when the merged pop-up object is closed, closeCallback() is triggered, used to clear the state or trigger subsequent logic.

[0074] It's important to note that plugins in the plugin chain are sorted by the `priority` field; plugins with smaller values ​​are executed first. Each plugin is called sequentially within its corresponding process, forming the "plugin chain." Furthermore, all plugins in the chain are idempotent (the queue structure should not be disrupted), and plugins do not share state to avoid side effects. The hook interface supports asynchronous operations (such as logging and remote requests) through `hookAsync`.

[0075] Based on the above description, the pop-up management method provided in this application embodiment abstracts the pop-up display behavior into a pluggable plug-in chain and provides hook interfaces at key nodes in the pop-up lifecycle (before display, after display, before closing, and after closing), enabling developers to flexibly define the pop-up display strategy, filtering logic, and queue scheduling method.

[0076] Building upon this foundation, this application further introduces a pop-up fusion mechanism. By identifying the group identifiers of pop-ups, similar pop-ups are automatically merged into a single fused pop-up object during the queue processing phase. The fused pop-up not only retains the display and closing logic of the original pop-ups but also supports lifecycle callbacks, enabling multiple pop-up contents to be displayed uniformly and interacted with centrally. This effectively reduces pop-up stacking, increases information density, and optimizes the user experience.

[0077] Furthermore, the plug-in chain mechanism supports behavioral control strategies such as pop-up display frequency control, display time limit, user behavior triggering, and dynamic priority adjustment. All control logic is implemented through plug-ins, possessing high scalability and business adaptability. Through this modular, data-driven design, this application achieves intelligent scheduling and personalized display of pop-up behavior, significantly improving the system's flexibility, maintainability, and user satisfaction.

[0078] The above describes a pop-up window management method provided by an embodiment of this application. The following will describe the apparatus for implementing the above pop-up window management method. See also... Figure 2 , Figure 2 This is a schematic diagram of a pop-up management device provided in an embodiment of this application. Figure 2 As shown in the figure, an embodiment of this application provides a pop-up management device, including:

[0079] The pop-up acquisition module 201 is used to acquire the first pop-up object displayed in this round and determine the plug-in chain of the first pop-up object for controlling the pop-up display behavior. The plug-in chain includes a first plug-in for filtering pop-ups and a second plug-in for scheduling pop-ups.

[0080] The pop-up management module 202 is used to run the first plugin to determine whether the first pop-up object can be displayed; if the first pop-up object can be displayed and there is a second pop-up object that is being displayed, the second plugin is run to determine whether the first pop-up object can be added to the queue; if the first pop-up object can be added to the queue, the first pop-up object is added to the pop-up object queue, and the pop-up object queue is the basis for the next round of display after the second pop-up object is closed.

[0081] In one possible implementation, the plugin chain also includes a third plugin for adjusting the queue, and the pop-up management module 202 is also used for:

[0082] The third plugin is run to adjust the pop-up object queue, and if the first pop-up object is a delayed pop-up object, the first pop-up object is marked accordingly in the pop-up object queue.

[0083] In one possible implementation, the plugin chain also includes hook interfaces set for key nodes in the pop-up lifecycle, including the first key node before and after display. The pop-up management module 202 is also used for:

[0084] If the first pop-up object is displayable and the second pop-up object does not exist, display the first pop-up object and obtain the working information of the first pop-up object at the first key node through the hook interface under the first key node.

[0085] In one possible implementation, the key nodes include second key nodes before and after closing, and the pop-up management module 202 is also used for:

[0086] In response to the pop-up close command, close the first pop-up object, and obtain the working information of the first pop-up object in the second key node through the hook interface under the second key node.

[0087] In one possible implementation, the plugin chain also includes a fourth plugin for filtering the queue and a fifth plugin for sorting the queue. The pop-up management module 202 is also used for:

[0088] The fourth plugin is run to determine whether the pop-up objects in the pop-up object queue can be displayed, and filters out the pop-up objects that cannot be displayed. If the pop-up object queue after filtering is not empty, the fifth plugin is run to sort the pop-up objects in the filtered pop-up object queue. The first pop-up object in the sorted pop-up object queue is used for the next round of display.

[0089] In one possible implementation, the plugin chain also includes a sixth plugin for merging pop-ups. Before the fifth plugin sorts the pop-up objects in the filtered pop-up object queue, the pop-up management module 202 is also used for:

[0090] The sixth plugin is run to identify target pop-up objects that meet the preset fusion conditions in the filtered pop-up object queue, and then merges the target pop-up objects into a single pop-up object.

[0091] It should be noted that the detailed functions of each module in the embodiments of this application can be found in the corresponding disclosure of the above-mentioned pop-up management method embodiments, and will not be repeated here.

[0092] This application also provides an electronic device in its embodiments. See also... Figure 3 , Figure 3This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device in this embodiment may include, but is not limited to, fixed terminals such as mobile phones, laptops, PDAs (personal digital assistants), PADs (tablet computers), desktop computers, etc. Figure 3 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0093] like Figure 3 As shown, the electronic device may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 302 or a program loaded from a storage device 308 into a random access memory (RAM) 303. When the electronic device is powered on, the RAM 303 also stores various programs and data required for the operation of the electronic device. The processing unit 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0094] Typically, the following devices can be connected to I / O interface 305: input devices 306 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 307 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 308 including, for example, memory cards, hard drives, etc.; and communication devices 309. Communication device 309 allows electronic devices to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 3 Electronic devices with various devices are shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have alternatively.

[0095] This application also provides a computer program product including computer-readable instructions, which, when executed on an electronic device, cause the electronic device to implement any of the pop-up management methods provided in this application.

[0096] This application also provides a computer-readable storage medium that carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement any of the pop-up management methods provided in this application.

[0097] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.

[0098] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0099] In the above embodiments, the implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, in the form of a computer program product.

[0100] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).

Claims

1. A pop-up window management method, characterized in that, The pop-up management method includes: Obtain the first pop-up object displayed in this round, and determine the plug-in chain of the first pop-up object for controlling the pop-up display behavior. The plug-in chain includes a first plug-in for filtering pop-ups and a second plug-in for scheduling pop-ups. Run the first plugin to determine whether the first pop-up object can be displayed; If the first pop-up object is displayable and there is a second pop-up object that is being displayed, run the second plugin to determine whether the first pop-up object can be added to the queue; If the first pop-up object can be added to the queue, the first pop-up object is added to the pop-up object queue. The pop-up object queue is the basis for the next round of display after the second pop-up object is closed.

2. The pop-up management method according to claim 1, characterized in that, The plugin chain also includes a third plugin for adjusting the queue, and the pop-up management method further includes: The third plugin is run to adjust the pop-up object queue, and if the first pop-up object is a delayed pop-up object, the first pop-up object is marked accordingly in the pop-up object queue.

3. The pop-up management method according to claim 1 or 2, characterized in that, The plugin chain also includes hook interfaces set for key nodes in the pop-up lifecycle, including the first key node before and after display. The pop-up management method also includes: If the first pop-up object is displayable and the second pop-up object does not exist, display the first pop-up object and obtain the working information of the first pop-up object at the first key node through the hook interface under the first key node.

4. The pop-up management method according to claim 3, characterized in that, The key nodes include second key nodes before and after closing, and the pop-up management method further includes: In response to the pop-up close command, the first pop-up object is closed, and the working information of the first pop-up object in the second key node is obtained through the hook interface under the second key node.

5. The pop-up management method according to claim 4, characterized in that, The plugin chain also includes a fourth plugin for filtering queues and a fifth plugin for sorting queues, and the pop-up management method further includes: The fourth plugin is run to determine whether the pop-up objects in the pop-up object queue can be displayed, and filters out the pop-up objects that cannot be displayed. If the filtered pop-up object queue is not empty, the fifth plugin is run to sort the pop-up objects in the filtered pop-up object queue. The first pop-up object in the sorted pop-up object queue is used for the next round of display.

6. The pop-up management method according to claim 5, characterized in that, The plugin chain also includes a sixth plugin for merging pop-ups. Before the fifth plugin sorts the pop-up objects in the filtered pop-up object queue, the pop-up management method further includes: The sixth plugin is run to identify target pop-up objects in the filtered pop-up object queue that meet the preset fusion conditions, and then merges the target pop-up objects into a single pop-up object.

7. A pop-up window management device, characterized in that, The pop-up management device includes: The pop-up acquisition module is used to acquire the first pop-up object displayed in this round and determine the plug-in chain of the first pop-up object for controlling the pop-up display behavior. The plug-in chain includes a first plug-in for filtering pop-ups and a second plug-in for scheduling pop-ups. The pop-up management module is used to run the first plugin to determine whether the first pop-up object can be displayed; if the first pop-up object can be displayed and there is a second pop-up object that is being displayed, run the second plugin to determine whether the first pop-up object can be added to the queue; if the first pop-up object can be added to the queue, add the first pop-up object to the pop-up object queue, and the pop-up object queue is the basis for the next round of display after the second pop-up object is closed.

8. A computer program product, characterized in that, It includes computer-readable instructions that, when executed on an electronic device, cause the electronic device to implement the pop-up management method as described in any one of claims 1 to 6.

9. An electronic device, characterized in that, It includes at least one processor and a memory connected to the processor, wherein: The memory is used to store computer programs; The processor is used to execute the computer program to enable the electronic device to implement the pop-up management method as described in any one of claims 1 to 6.

10. A computer storage medium, characterized in that, The storage medium carries one or more computer programs, which, when executed by an electronic device, enable the electronic device to implement the pop-up management method as described in any one of claims 1 to 6.