Patent Description:
With the popularization of IP monitoring technology, it has become an indispensable part of an IP monitoring system to access a camera device such as an IP camera (IPC), a network video recorder (NVR) or the like through a browser in a Windows operating system for purposes of configuring parameters and live viewing. Currently, the live stream is played on the browser mainly through control-free techniques, such as HTML5 or WEB RTC, or through plug-ins installed in the browser, such as Active X, Flash, NPAPI, or PPAPI, which perform the decoding and display functions. The former has specific requirements on the stream encoding format thus resulting in great limitations in terms of the compatibility of browser types and versions. Regarding the latter, due to the need of compatibility with browser types and versions, the compatibility with multiple plug-ins such as Active X, Flash, NPAPI, or PPAPI needs to be built in the control, leading to a large development workload. Additionally, the insufficient stability of the control itself may give rise to problems such as crashes, which would directly affect the Web page performance of camera devices, such that the stability of the display window in the Web page cannot be ensured, reducing the user experience. Therefore, how to ensure the performance of the Web page while solving the compatibility problem with regards to browser types and versions so as to ensure the stability of the display window in the Web page is the technical problem that needs to be urgently solved in the field of IP monitoring.

"<CIT>" discloses an arrangement for displaying video footage captured by a controllable camera. The arrangement comprises a memory storing the captured footage, means for constructing a representation of a field of view accessible by the camera, means for retrieving, from the memory, the stored footage and parameters.

In view of this, the present application provides a window management method to solve the preceding problems.

The window management method provided by an embodiment of the present application includes the following operations:.

Optionally, the window creation request includes a window size of the Web page and a relative position of the window to be created in the Web page. The operation of obtaining the covered area of the window to be created in the Web page according to the window creation request includes the following operations:.

Optionally, the operation of obtaining the window handle corresponding to the Web page includes the following operations:.

Optionally, the operation of obtaining the window handle corresponding to the Web page according to the process ID includes the following operations:.

The operation of creating the display window and covering the covered area with the display window includes the following operations:
creating a new process, establishing a display window in the new process, and covering the covered area of the Web page with the display window.

Optionally, the window management method further includes the following operations prior to the operation of receiving the window creation request sent by the Web page connected to the control:.

Optionally, the operation of selecting the available port from among the preset ports and monitoring the available port includes the following operations:.

Optionally, the window management method further includes the following operations:.

Optionally, the operation of detecting whether the state information of the browser corresponding to the Web page is changed includes the following operations:
detecting, at preset intervals, whether the state information of the browser corresponding to the Web page is changed.

An embodiment of the present application further provides a window management method applied to a Web page, the window management method including the following operations:.

Optionally, the window management method further includes the following operations prior to the operation of sending the window creation request to the control connected to the Web page:.

Optionally, the operation of detecting whether the connected preset ports meet the preliminary connection requirement includes the following operations:.

An embodiment of the present application further provides a computer-readable storage medium, which is configured to store instructions. When the instructions are executed, the preceding window management methods are performed.

In the window management methods provided by the embodiments of the present application, the Web page responds to a window creation instruction and generates a window creation request according to the window creation instruction, and sends the window creation request to a control connected to the Web page. Then the control receives the window creation request, obtains the covered area of the window to be created in the Web page according to the window creation request, creates the display window and covers the covered area with the display window. Compared with the related art, by the window management methods provided by the embodiments of the present application, the control independently operates in a service mode to obtain the covered area of the window to be created in the Web page, creates the display window and covers the covered area with the display window. The window management methods are compatible with browsers of different types and versions while ensuring the performance of the Web page, thereby ensuring the stability of the display window in the Web page and effectively improving the user experience.

To better illustrate technical solutions reflected in the embodiments of the present application, the accompanying drawings used in the description of the embodiments will be briefly described below. It is to be understood that the following drawings merely illustrate part of embodiments of the present disclosure and thus are not to be construed as limiting the present application, and those of ordinary skill in the art may obtain other accompanying drawings based on the accompanying drawings described below without investing creative efforts.

Reference numerals: <NUM>. Electronic device; <NUM>. Control; <NUM>. Processor; <NUM>.

In the related art, a live stream is played on a browser mainly in the following two ways.

The first way, Websocket is established between a server and the browser for sending and receiving code streams. The browser decodes video encoded streams using Javascript and plays video in real time using Canvas + WebGL. In this way, no plug-in needs to be installed in the browser, and the video is played on the browser using the HTML5 standard.

(<NUM>) A live broadcast software frame corresponding to live broadcast application software to be transplanted is packaged to generate an ActiveX component. The ActiveX component is packaged according to an NPAPI mechanism to generate an NPAPI plug-in. A plug-in entry function of the NPAPI plug-in is registered to a Fire fox® browser. A system path of the NPAPI plug-in is added into a system registry. In this way, the fire fox browser searches and loads the NPAPI plug-in according to the path, and thereby, the live broadcast software at a user end is transplanted to the fire fox browser in the form of the NPAPI plug-in.

The applicant researches and discovers that the preceding first way is limited to the HTML5 standard, while only H. <NUM> and a few other types of code streams support the code stream format of the HTML5 standard. That is, H265, MJPEG and other code stream formats commonly used in the IP monitoring field currently do not support the HTML5 standard. Additionally, the first way has requirements on browser types and versions because not every browser or every version supports the HTML5 standard.

The preceding second way is limited to the fire fox browser and thus has great limitation on the compatibility of various browser types and versions. Furthermore, a Web page has poor performance, so that the stability of a display window in the Web page cannot be ensured, thus reducing the user experience.

Based on the preceding research, embodiments of the present application provide window management methods. Through these methods, a control independently operates in a service mode to obtain a covered area of a window to be created in a Web page, create a display window and cover the covered area with the display window. The window management methods are compatible with browsers of different types and versions while ensuring the performance of the Web page, thereby ensuring the stability of the display window in the Web page and effectively improving the user experience.

The technical solutions reflected in the embodiments of the present application will now be described in a definite and comprehensive manner in connection with the drawings that are intended to be used in the embodiments of the present application. Apparently, the embodiment described below is part, rather than all, of the embodiments of the present application. Generally, the components of this embodiment of the present application described and illustrated in the drawings herein may be arranged and designed through various configurations. Therefore, the subsequent detailed description of the embodiments of the present application and illustrated in the drawings is not intended to limit the present application, but merely illustrates the illustrative embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without paying creative efforts shall all fall in the scope of the present application.

Similar reference numerals and characters indicate similar items in the accompanying drawings described below, and therefore, once a particular item is defined in a drawing, the item needs no more definition and explanation in subsequent drawings. Meanwhile, in the description of the present application, unless otherwise expressly specified and defined, terms like "mounted onto", "disposed on", "connected to" or "connected with" are to be construed in a broad sense, for example, as permanently connected, detachably connected or integrally connected; mechanically connected or electrically connected; directly connected or indirectly connected via an intermediate medium; or internally connected between two elements. For those having ordinary skill in the art, the preceding terms in the present application can be construed depending on specific contexts.

<FIG> shows a block diagram illustrating an electronic device <NUM> equipped with a control <NUM> is provided according to an embodiment of the present application. The electronic device <NUM> may be, but is not limited to, a computer or other mobile internet devices. The electronic device <NUM> includes the preceding control <NUM>, a processor <NUM> and a memory <NUM>.

The processor <NUM> and the memory <NUM> are electrically connected to each other directly or indirectly for data transmission or interaction with each other. For example, these components may be electrically connected to each other via one or more communication buses or signal lines. The control <NUM> includes at least one software module that can be stored in the memory <NUM> or hardcoded in an operating system (OS) of the electronic device <NUM> in the form of software or firmware. The processor <NUM> is configured to execute executable modules stored in the memory <NUM>, for example, software functional modules and computer programs contained in the control <NUM>. The processor <NUM> may further execute the computer programs after receiving execution instructions.

The processor <NUM> may be an integrated circuit chip having signal processing capabilities. The processor <NUM> may be a general-purpose processor, such as a central processing unit (CPU), a network processor (NP), or may be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a discrete gate or transistor logic device, or a discrete hardware component. The processor can perform or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. Additionally, the general-purpose processor may be a microprocessor or any conventional processor.

The memory <NUM> may be, but is not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable read-only memory (EPROM), an electrically erasable read only memory (electrically erasable read-only memory, EEPROM) or the like. The memory <NUM> is configured to store a program. The processor <NUM> executes the program after receiving execution instructions. The method performed by the electronic device <NUM> defined by the process disclosed in any embodiment of the present application may be applied to the processor <NUM> or performed by the processor <NUM>.

It is to be understood that the structure illustrated in <FIG> is merely illustrative, and the electronic device <NUM> may have fewer or more components than illustrated in <FIG>, or may have a different configuration than illustrated in <FIG>. Additionally, the components illustrated in <FIG> may be implemented by software, hardware, or a combination thereof.

<FIG> shows a flowchart illustrated a window management method provided by an embodiment of the present application. The window management method is applied to the control illustrated in <FIG>. It is to be noted that the window management method provided by the present application is not limited to the specific sequence illustrated in <FIG> and described below. The specific process and operations of the window management method are described in detail below in connection with <FIG>.

In step S010, a window creation request sent by a Web page connected to the control is received.

The Web page is the Web page of a camera device and may be logged in using a browser installed in the electronic device illustrated in <FIG>. The browser may be a Google chrome® browser, a Fire fox® browser, a UC® browser or any other browser, which is not limited in this embodiment. The window to be created corresponding to the window creation request may be a display window for an image captured by the camera device.

When the triggered window creation instruction is detected, that is, when receiving the window creation instruction indicating that video window display is required, the logged Web page may generate the window creation request according to a window creation instruction and send the window creation request to the control. The control receives the window creation request.

In connection with <FIG>, optionally, in this embodiment, before operation S010, the method further includes operations S001 and S002 to realize a connection between the control and the Web page.

In S001, an available port is selected from among preset ports and monitored, and a preliminary connection is established with the Web page via the available port when a connection is established between the Web page and the available port.

In this embodiment, the processor <NUM> selects multiple preset ports from among network ports prior to setting up the connection between the control and the Web page. In implementation, the processor <NUM> controls the control to cyclically detect the multiple preset ports to select an idle port from among the multiple preset ports as an available port and cyclically monitor the available port. Meanwhile, the Web page may establish connections with the multiple preset ports to improve the efficiency of establishing connections. Optionally, in this embodiment, the Web page establishes connections with the multiple preset ports in parallel.

If the port connected to the Web page is an available port monitored by the control, then the control successfully establishes the preliminary connection with the Web page. If the port connected to the Web page is an occupied port monitored by a third-party application, then the port cannot process the page request and may return an error message or no message, and the control fails to establish the preliminary connection with the Web page. Alternatively, if the port connected to the Web page is an idle port not monitored by the control or the third-party application, then the port cannot establish a TCP connection, the request is failed, and the control fails to establish the preliminary connection with the Web page.

In step S002, attribute information is sent to the Web page so that the Web page establishes the connection with the control in response to determining that the attribute information meets a preset requirement.

Upon determining that the attribute information does not meet the preset requirement, that is, the attribute information contains no attribute information of the control, or attribute information of the control contained in the attribute information does not meet the preset control requirement, the Web page generates and displays a prompt message to prompt a user to install a control that meets the preset requirement. The attribute information regarding the control may include a version number of the control. The preset control requirement may be having a version number higher than the preset version number. That is, when lower than the preset version number, the version number of the control does not meet the requirement of the Web page, and the control needs to be updated. However, when the version number meets the requirement, the control may send and receive messages based on the connection after establishing the connection with the Web page. Messages may carry specific interfaces and parameters. The control may return the interface calling situation and report work via the connection. Additionally, if the attribute information contains no attribute information of the control, that is, the Web page receives no response information of the control, then the prompt information may be generated to prompt the user to install a corresponding control.

In this embodiment, the preceding operation process is performed in the internal network loopback of the electronic device and has a high efficiency. For example, tests show that preceding steps S001 and S002 can be completed within <NUM>, while for idle ports, the connection failure information of each idle port may be returned within <NUM>. Additionally, in view of the case in which the control fails to establish the preliminary connection with the Web page, in this embodiment, the Web page is provided with a waiting time threshold. The waiting time threshold is greater than a response time for the control to respond to the Web page to send attribute information to the Web page after successfully establishing the preliminary connection.

In step S020, a covered area of a window to be created in the Web page is obtained according to the window creation request.

The window creation request may include a window size of the Web page and a relative position of the window to be created in the Web page. In connection with <FIG>, in this embodiment, S020 optionally includes two sub-steps S021 and S022.

In S021, a window handle corresponding to the Web page is obtained, and window coordinates of the Web page are obtained according to the window handle.

As an implementation, in this embodiment, the window handle corresponding to the Web page may be quickly obtained in the following manner.

The processor <NUM> may obtain an IP address and a sending port via which the Web page sends the window creation request, obtain a process ID of the browser corresponding to the Web page based on the IP address and the sending port, and obtain the window handle corresponding to the Web page according to the process ID.

Optionally, in the step of obtaining the window handle corresponding to the Web page according to the process ID, a window handle matched the browser may be acquired according to the process ID. If the window handle is the window handle of the Web page, then the window handle of the Web page can be directly determined without further searching a parent window handle. If the window handle is not the window handle directly corresponding to the Web page, then the window handle is used as a characteristic window handle, and the parent window handle located at a top layer of the characteristic window handle is obtained according to the characteristic window handle. All child window handles corresponding to the parent window handle are retrieved. A child window having a visible attribute is selected from among child windows corresponding to all the child window handles and used as a window to be compared. A window size of each window to be compared is obtained and compared with the window size of the Web page to determine the window handle corresponding to the Web page. Further, in this embodiment, the preceding process may be specifically implemented in the manner described below.

After the window creation request is monitored and obtained, the connection is established through function accept, and the IP address and port are obtained through the function getpeername(). Further, information regarding each TCP connection and each related process in the electronic device is obtained, an information table of this information is traversed, a program corresponding to the IP address and port is found, a PID value of the program is acquired, and then a window created according to a process corresponding to the PID value is found. After that, system function EnumWindows() is called to acquire information about each window in the manner of traversing and callback. In the callback, the process ID is obtained through the window handle, the PID returned by the window is compared with the known browser PID, and the window handle having the same PID is found. At this point, in view of the fact that there may be multiple windows, it is firstly confirmed whether there is a total parent window through this window. If there is the total parent window, the parent window is acquired. Further, system function EnumChildWindows() is called to acquire each child window of the parent window in the manner of traversing and callback. In the callback, sub-windows having the visible attribute is found from among sub-windows by using function GetWindowLong(), the size of each sub-window having the visible attribute is acquired and compared with the window size of the Web page, and then, the window handle carrying the Web page can be found.

In S022, the covered area of the window to be created in the Web page is obtained based on the window coordinates, the window size and the relative position of the window to be created in the Web page. The covered area contains an absolute position of the window to be created in the Web page.

In step S030, a display window is created, and the covered area is covered with the display window.

A new process is created, and the processor <NUM> controls the control to create the display window in the new process. The display window is a window without borders, titles and taskbar icons. The window does not handle mouse drag events, thus ensuring that the user cannot directly change the window position. The covered area of the Web page is cover with the newly created display window.

Referring to <FIG>, optionally, in this embodiment, to maintain the display window, the method further includes the following operations.

In S040, it is detected whether state information of the browser corresponding to the Web page is changed, and a change type is determined if the state information of the browser is changed.

The state information of the browser includes a browser process, a window attribute of the browser, and a window position of the browser. Optionally, in this embodiment, window information changes caused by operations outside the Web page are perceptible to the Web page. In this case, the control needs to actively detect the window handle or process of the Web page to solve the problem. Optionally, when state information changes of the browser are caused by operations outside the Web page, there are four change types. Change type <NUM> is that the browser process is destroyed. Change type <NUM> is that the browser process is not destroyed but the window attribute of the browser is hidden. Change type <NUM> that the browser process is not destroyed, the window attribute of the browser is not hidden, but the window position of the browser is changed. Change type <NUM> is that the browser process is not destroyed, the window attribute of the browser is not hidden, and the window position of the browser is not changed.

In S050, a processing strategy corresponding to the change type is selected from among multiple preset processing strategies, and the display window is processed according to the selected processing strategy.

Optionally, in this embodiment, there are four processing strategies. Processing strategy <NUM> is destroying the display window. That is, the control detects whether the browser process is destroyed, and if the browser closes or crashes, or the process is forcibly closed, then the control destroys the created display window. Processing strategy <NUM> is hiding the display window. That is, the control detects, through the window attribute, whether the browser is minimized or whether the page is invisible due to other operations, and if the preceding situation exists, the control hides the created display window. Processing strategy <NUM> is refreshing the position of the display window. That is, if the control detects that the browser process is not destroyed, the window attribute of the browser is not hidden, but the window position of the browser is changed, then the control refreshes the position of the created display window. Processing strategy <NUM> is setting the display window on the top of the display window of the browser. That is, if the control detects that the browser process is not destroyed, the window attribute of the browser is not hidden, and the window position of the browser is not changed, then the control sets the created display window on the top.

In summary, in this embodiment, change type <NUM> corresponds to processing strategy <NUM>, change type <NUM> corresponds to processing strategy <NUM>, change type <NUM> corresponds to processing strategy <NUM>, and change type <NUM> corresponds to processing strategy <NUM>.

In this embodiment, when processing window changes imperceptible to the Web page, the control needs to check the state of the browser page, the state of the browser, the browser process, and the like to perform detections. Therefore, optionally, the control may detect, at preset intervals, whether the state information of the browser corresponding to the Web page is changed. In view of the fact that too frequent detection causes great overheads while a too long detection interval causes certain time delay, in this embodiment, the preset interval may be set to <NUM> after verification. That is, the browser and page states are detected every <NUM>. Such configuration has little impact on the user experience. It is to be noted that the preset interval is not limited to the preceding value, which may be set according to requirements.

Additionally, in this embodiment, the display window created by the control may crash during operation. Since the processor <NUM> controls the control to create the display window in a new process, the control may monitor the new process to catch the exception. When the exception is caught, the control may close the original window, reestablish a process, and constructs a display window in the reestablishment process to restore the display, so that the original related business of the browser page is not be affected.

Referring to <FIG>, similarly, in this embodiment, to maintain the display window, optionally, the method further includes the following operations.

In S060, a page operation request generated by the Web page according to a page operation instruction is received.

Optionally, in this embodiment, page information changes caused by operations within the Web page are sensible to the Web page. In this case, the Web page generates the page operation request according to a detected page operation instruction, and three page operation instructions may be generated based on the operations within the Web page. Page operation instruction <NUM> is closing the Web page. Page operation instruction <NUM> is changing the window position of the Web page and hiding the window of the Web page. Page operation instruction <NUM> is changing the window position of the Web page without hiding the window of the Web page.

In step S070, a processing strategy corresponding to the page operation request is selected from among multiple preset processing strategies, and the display window is processed according to the selected processing strategy.

Optionally, in this embodiment, there are three processing strategies. Processing strategy <NUM> is destroying the display window. That is, if the Web page detects that the Web page is closed, the Web page sends a message to inform the control to destroy the created display window. Processing strategy <NUM> is hiding the display window. That is, if the Web page detects that the page operation does not need the display of the display window created by the control, then the Web page sends a message to inform the control to hide the created display window. Processing strategy <NUM> is refreshing the position of the display window. That is, if the Web page detects the window position is changed due to the page operation, then the Web page sends a message to inform the control to update the position of the display window.

In summary, in this embodiment, the page operation request generated according to page operation instruction <NUM> corresponds to processing strategy <NUM>, the page operation request generated according to page operation instruction <NUM> corresponds to processing strategy <NUM>, and the page operation request generated according to the page operation instruction <NUM> corresponds to processing strategy <NUM>.

Referring to <FIG>, an embodiment of the present application further provides a window management method applied to a Web page. The method includes the following operations.

In S110, in response to a window creation instruction, a window creation request is generated according to the window creation instruction.

The Web page is for a camera device and may be logged in through a browser installed in the electronic device illustrated in <FIG>. The browser may be a Google Chrome® browser, a Fire fox® browser, a UC® browser or any other browser, which is not limited in this embodiment. The window to be created corresponding to the window creation request may be a display window for an image captured by the camera device. The logged Web page may generate the window creation request according to a window creation instruction when the triggered window creation instruction is detected.

In S120, the window creation request is sent to a control connected to the Web page, so that the control obtains a covered area of a window to be created in the Web page according to the window creation request and creates a display window to cover the covered area with the display window.

Referring to <FIG>, optionally, in this embodiment, before step S120, the window management method further includes operations S101 and S102 to realize a connection between the control and the Web page.

In S101, based on the window creation request, connections are established with multiple preset ports, it is detected whether a connected preset port meets a preliminary connection requirement, and a preliminary connection is established to the control via the connected preset port if the connected preset port meets the preliminary connection requirement.

In this embodiment, the processor <NUM> selects multiple preset ports from among network ports in advance to realize the connection between the control and the Web page. In implementation, the control may cyclically detect the multiple preset ports to select an idle port from among the multiple preset ports as an available port and cyclically monitor the available port. Meanwhile, the Web page may establish connections with the multiple preset ports to improve the efficiency of establishing connections. Optionally, in this embodiment, the Web page establishes connections with the multiple preset ports in parallel. In this embodiment, when establishing a connection with a preset port, the Web page may detects whether the connected preset port meets the preliminary connection requirement, and establish the preliminary connection with the control via the connected preset port if the connected preset port meets the preliminary connection requirement. Optionally, it is determined whether the preset port meets the preliminary connection requirement as follows. If the port connected to the Web page is an available port monitored by the control, then it is determined that the preset port meets the preliminary connection requirement. If the port connected to the Web page is an occupied port monitored by a third-party application, or the port connected to the Web page is an idle port not monitored by the control or the third-party application, then it is determined that the preset port does not meet the preliminary connection requirement. If the port connected to the Web page is the available port monitored by the control, then the control successfully establishes the preliminary connection with the Web page. If the port connected to the Web page is the occupied port monitored by the third-party application, then the port cannot process the page request and may return an error message or no message, and the control fails to establish the preliminary connection with the Web page. Alternatively, if the port connected to the Web page is an idle port not monitored by the control or the third-party application, then the port cannot set up a TCP connection, the request is failed, and the control fails to establish the preliminary connection with the Web page.

In S102, attribute information sent by the control is received, and a connection is established to the control in response to determining that the attribute information meets the preset requirement.

In response to determining that the attribute information does not meet the preset requirement, the Web page generates and displays a prompt message to prompt a user to install a control that meets the preset requirement. The attribute information about the control may include a version number of the control. The preset control requirement may be having a version number higher than the preset version number. The control may send and receive messages based on the connection after establishing the connection with the Web page. Messages may carry specific interfaces and parameters. The control may return the interface calling situation and report work via the connection.

In this embodiment, each operation of S101 and S102 is performed in the internal network loopback of the electronic device and has a high efficiency. For example, tests show that preceding operations S101 and S102 can be completed within <NUM>, while for idle ports, the connection failure information of each idle port may be returned within <NUM>. Additionally, in view of the case in which the control fails to establish the preliminary connection with the Web page, in this embodiment, the Web page is provided with a waiting time threshold. The waiting time threshold is greater than a response time for the control to respond to the Web page to send attribute information to the Web page after successfully setting up the preliminary connection.

Referring to <FIG>, optionally, in this embodiment, to maintain the display window, the window management method may further include the following operations.

In S130, in response to a page operation instruction, a page operation request is generated according to the page operation instruction.

In S140, the page operation request is sent to the control, so that the control selects a processing strategy corresponding to the page operation request from among multiple preset processing strategies and processes the display window according to the selected processing strategy.

Optionally, in this embodiment, there may be three processing strategies. Processing strategy <NUM> is destroying the display window. That is, if the Web page detects that the Web page is closed, the Web page sends a message to inform the control to destroy the created display window. Processing strategy <NUM> is hiding the display window. That is, if the Web page detects that the page operation does not need the display of the display window created by the control, then the Web page sends a message to inform the control to hide the created display window. Processing strategy <NUM> is refreshing the position of the display window. That is, if the Web page detects the window position is changed due to the page operation, then the Web page sends a message to inform the control to update the position of the display window.

In this embodiment, the page operation request generated according to page operation instruction <NUM> corresponds to processing strategy <NUM>, the page operation request generated according to page operation instruction <NUM> corresponds to processing strategy <NUM>, and the page operation request generated according to the page operation instruction <NUM> corresponds to processing strategy <NUM>.

An embodiment of the present application provides a computer-readable storage medium configured to store instructions, which when executed causes the preceding window management methods to be performed.

In summary, in the window management methods provided by the embodiments of the present application, the Web page responds to the window creation instruction, generates the window creation request according to the window creation instruction, and sends the window creation request to the control connected to the Web page; the control receives the window creation request, obtains the covered area of the window to be created in the Web page according to the window creation request, creates the display window and covers the covered area with the display window. Compared with the existing art, by the window management methods provided by the embodiments of the present application, the control independently operates in a service mode to obtain the covered area of the window to be created in the Web page, create the display window and cover the covered area with the display window. The window management methods are compatible with browsers of different types and versions while ensuring the performance of the Web page, thereby ensuring the stability of the display window in the Web page and effectively improving the user experience.

It is to be understood that the devices and the methods disclosed in the embodiments of the present application may be implemented in other manners. The preceding device embodiments are merely illustrative. For example, the flowcharts and block diagrams in the drawings illustrate possible implementations of architectures, functions and operations of the apparatuses, methods and computer program products in accordance with the embodiments of the present application. In this regard, each block in the flowcharts or block diagrams may represent a module, a program segment, or part of codes that contains one or more executable instructions for implementing specified logical functions. It is to be noted that, in some alternative embodiments, the functions noted in the blocks may take an order different than noted in the drawings. For example, two sequential blocks may, in fact, be executed substantially concurrently, or sometimes executed in the reverse order, depending on the involved functions. It is to be noted that each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts may be implemented by not only specific-purpose hardware-based systems that perform specified functions or actions, but also combinations of specific-purpose hardware and computer instructions.

Additionally, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist alone, or two or more modules may be integrated to form an independent part.

The functional modules may be stored in a computer-readable storage medium if implemented in the form of software function modules and sold or used as independent products. Based on this understanding, the solutions provided by the present application substantially, the part contributing to the related art, or part of the solutions, may be embodied in the form of software products. The computer software product is stored in a storage medium, and includes multiple instructions for enabling a computer device (which may be a personal computer, a server, a network device or the like) to perform all or part of the steps in the methods provided by the embodiments of the present disclosure. The foregoing storage medium may be a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disk or another medium that can store program codes. It is to be noted that as used herein, relationship terms such as "first" and "second" are used merely to distinguish one entity or operation from another. It does not necessarily require or imply any such actual relationship or order between these entities or operations.

It is to be noted that as used herein, term "comprise", "include" or any other variant thereof is intended to encompass a non-exclusive inclusion so that a process, method, article or device that includes a series of elements not only includes the expressly listed elements but also includes other elements that are not expressly listed or are inherent to such a process, method, article or device. In the absence of further restrictions, the elements defined by the statement "including a. " do not exclude the presence of additional identical elements in the process, method, article or device that includes the elements.

The foregoing merely depicts some illustrative embodiments of the present application and are not intended to limit the present application.

Claim 1:
A window management method, applied to a control, comprising receiving (S010), by the control, a window creation request sent by a Web page connected to the control;
obtaining (S020), by the control, a covered area of a window to be created in the Web page, according to the window creation request; and
creating (S030), by the control, a display window and covering the covered area with the display window;
wherein the control comprises at least one software module and the at least one software module is stored in a memory or hardcoded in an operating system of an electronic device in a form of software or firmware;
wherein the covered area contains an absolute position of the window to be created in the Web page; and
wherein the control independently operates and the window creation request comprises a window size of the Web page and a relative position of the window to be created in the Web page; the method being characterized in that:
creating (S030) the display window and covering the covered area with the display window comprises:
creating a new process, establishing a display window in the new process, and covering the covered area of the Web page with the display window, wherein the display window is a window without borders, titles and taskbar icons.