RU2520361C2 - Method of preventing false interruption of multi-page browser and corresponding device - Google Patents

Method of preventing false interruption of multi-page browser and corresponding device Download PDF

Info

Publication number
RU2520361C2
RU2520361C2 RU2012101504/08A RU2012101504A RU2520361C2 RU 2520361 C2 RU2520361 C2 RU 2520361C2 RU 2012101504/08 A RU2012101504/08 A RU 2012101504/08A RU 2012101504 A RU2012101504 A RU 2012101504A RU 2520361 C2 RU2520361 C2 RU 2520361C2
Authority
RU
Russia
Prior art keywords
window
page
parent
main
frame
Prior art date
Application number
RU2012101504/08A
Other languages
Russian (ru)
Other versions
RU2012101504A (en
Inventor
Куй ХУАН
Цзюнь ЯНЬ
Дэн ЛО
Бинь Лю
Фанминь ЛЮ
Original Assignee
Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN2009101520074A priority Critical patent/CN101609470B/en
Priority to CN200910152007.4 priority
Application filed by Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед filed Critical Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед
Priority to PCT/CN2010/074618 priority patent/WO2011000299A1/en
Publication of RU2012101504A publication Critical patent/RU2012101504A/en
Application granted granted Critical
Publication of RU2520361C2 publication Critical patent/RU2520361C2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: invention relates to web browsers. In the method, a page window is set up as a top-level window and the "parent-descendent" relationship between the page window and said main frame window is eliminated to place the page window and the main frame window on the same level, wherein the page window interacts with the main frame window in asynchronous mode without the "parent-descendent" relationship between them.
EFFECT: preventing false interruption of the entire browser due to false interruption of one of its pages.
9 cl, 4 dwg

Description

This application is filed with the priority of the Chinese application for invention No. 2009101520074, filed with the Chinese Patent Office on July 2, 2009 and entitled "Method for Preventing False Suspension of a Multipage Browser and Related Device". The entire contents of this application is incorporated into this application by reference.

Technical field

This invention relates to the field associated with Internet browsers, in particular to a method for preventing false suspension of a multi-page browser.

State of the art

With the development of the Internet, browsers quickly developed, so that the original single-page browsers gradually turned into multi-page browsers now in use. Currently, most browsers support several pages that can be opened simultaneously in one window, while providing a more convenient transition between them with less resources, which leads to a better impression of use.

However, in a multi-page browser, there are at least the following disadvantages: since a multi-page browser is a single application, when one of its pages is in a state of false suspension, it will all be in that state and without restarting the browser it will be impossible to control pressing any buttons and it will be impossible open a single new window, which is very inconvenient for the user. The so-called false suspension is an abnormal state of the browser in which updating the interface is impossible, the browser does not respond to button presses and it is impossible to work with it.

For the Chrome browser, there is a solution based on the prior art to prevent false suspension, however, this browser uses the page render mode without a window, i.e. the page there does not have a window, so it does not cause a false suspension. This means that in the prior art there is no solution to completely eliminate the problem of false suspension of a multi-page browser, and this problem must be quickly resolved.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus for preventing false suspension of a multi-page browser, providing an effective solution to the problem of false suspension of the entire browser due to false suspension of one of its pages.

The following technical solutions are disclosed in the present invention.

The proposed method for preventing false suspension of a multi-page browser contains the following steps: setting up the page window as a window that is on the same level as the main frame window; Removing the parent-child relationship between the page window and the specified main frame window interaction in the asynchronous mode of the page window with the main window-frame without the parent-child relationship between them.

The present invention also provides a device for preventing false suspension of a multi-page browser, comprising: a first setting unit configured to configure a page window as a window located at the same level as the main window-frame, and also with the ability to remove the parent-child relationship descendant "between the page window and the main frame window; an interaction unit that provides asynchronous interaction between the page window and the main frame window without a parent-child relationship between them.

As follows from the description of the claimed technical solutions presented above, by removing the parent-child relationship between the main frame window and the page window and using the asynchronous mode of interaction between the main window and the page window, the main window can respond immediately, without waiting for processing from the side of the page window after the transmission of the message, and will not be affected even if the page window does not respond. Therefore, the problem of false suspension of the entire browser due to false suspension of the page window can be avoided, as a result of which the user experience is significantly improved.

Brief Description of Drawings

1 is an illustration of a parent-child relationship between windows in a Windows system used in accordance with the present invention.

Figure 2 shows a block diagram of the proposed method for preventing false suspension of a multi-page browser.

Figure 3 shows a block diagram of a message processing cycle after setting up a single stream as multiple streams according to the present invention.

Figure 4 presents a structural diagram of the proposed device to prevent false suspension of a multi-page browser.

Description of the invention

Below clearly and using the attached drawings describes the technical solutions claimed in the present invention. The described options are only part of the possible variants of the invention. All other options that can be obtained by specialists in this field of technology on the basis of the presented variants of the invention without introducing them an inventive step should be considered as falling within the scope of legal protection of the present invention.

To solve the problem of false suspension of a multi-page browser, you first need to analyze the reason for such a suspension.

On Windows, all window programs are message-driven. Such programs provide users with working windows. This means that when a user creates various messages using the mouse and keyboard, they are sent to a window containing focus in the current system. At any given time, there is only one window with focus. Visible focus is usually the cursor in an input field control or similar. When receiving messages, the focused window responds accordingly, depending on the types of messages. For example, when you click the mouse button, double-click the mouse, press a key on the keyboard, or perform a similar action, a message is created that the application responds to, updates its interface and performs the operation.

The following actions are provided in the method for processing internal system messages: the system constantly puts messages in the message queue, and for each thread of execution that provides a window, there is a message processing cycle in which messages are constantly received from the queue and processed. However, if message processing is blocked and cannot be performed, receiving new messages in the message processing cycle is impossible, as a result of which the page will not react in any way to calls to it. Therefore, the page will not be updated, since its interface cannot be updated without receiving an update message. When any buttons are pressed, there will be no reaction, the message processing cycle will stop at the message processing stage and will not respond to any operation, i.e. false suspension will occur.

A message loop exists for each thread in a Windows system, and in a single-threaded environment, one such loop is used for multiple pages. Therefore, when blocking one message processing cycle, the entire program is blocked. Based on the above analysis, in the present invention, a separate stream is configured for each page window to create a multi-threaded environment.

However, in a multi-threaded environment, there is another problem - the relationship between windows of a Windows system. As can be seen from figure 1, there is a top-level window, which is an element of the taskbar. It has buttons for minimizing, expanding, and closing, and one button in this window also represents a window (button window in Fig. 1). There is a parent-child relationship between the top-level window and the button window, so these windows are called parent and child. The relationship between the parent and child windows is that the child window must move when the parent window is moved, hide when the parent window is hidden, and be displayed when the parent window is displayed. In a multi-page browser environment with multiple threads, there is a parent-child relationship between the main frame window, which is the top-level window (parent), and the page window (child). Each page window is loaded in its own stream, and the main window-frame is loaded in the stream, in which the address bar, toolbar and similar elements are loaded. When using multiple threads, some operations of the parent window are synchronized with the child window by sending messages. For example, when a parent window moves, it sends a message to the child window so that the child window also moves. If the thread in which the child window is loaded is blocked and does not respond to the message, the parent window will continue to wait for a response and will also be blocked. As a result, the stream in which the parent window is loaded is also blocked and the entire program does not respond. Therefore, if in an environment with several streams one page window is in a state of false suspension, the main window-frame, when performing operations in it, must send a message in order to synchronize with the page window, but the page window cannot respond to it. The main window-frame continues to wait for a response from the page window and the entire browser does not respond - a false suspension occurs. According to the above analysis of a multithreaded environment, the present invention allows to solve this problem by removing the parent-child relationship between the page window and the main frame window and to ensure that these windows interact with each other in asynchronous mode.

Based on the analysis described above, the present invention provides a method for preventing a false suspension of a multi-page browser. As can be seen from figure 2, this method contains the following steps.

Step 20: setting up a separate stream for each page window.

In a single-threaded environment, this step is required, but in a multi-threaded environment, it can be skipped.

Setting a separate stream for each page window provides the ability to load each page window in one independent stream.

As can be seen from figure 3, in a single-threaded environment, each page window is loaded in an independent stream, so for each such window has its own message processing cycle. If the message processing cycle of a thread is blocked, the message processing cycles of other threads are not affected, i.e. when one of the page windows is in a false suspension state, the other page windows will not be affected.

In some cases, for each page window, one separate process is set up, which further reduces the likelihood of crashes.

Step 21: using the page window as a top-level window and removing the parent-child relationship between the page window and the main frame window, ensuring that the page window and the main frame window are at the same level.

In the method of using the page window as a top-level window, it is possible to configure elements, in particular the minimize, maximize, and close buttons on the taskbar of each page window.

When the page window and the main frame window are at the same level, both of these windows are top-level windows and there is no parent-child relationship between them. Each window corresponds to a unique identifier. The internal module in the system registers this identifier and determines the type of window that corresponds to it - the page window or the main window-frame. Thus, even if the page window and the main window-frame are configured to be at the same level, the internal module of the system can still distinguish which window is the page window and which is the main window-frame.

If, after setting the page window as a top-level window, the page window does not correspond to the main window, the user can switch to another page window or close the page window.

Step 22: the page window and the main window-frame interact with each other in asynchronous mode without a parent-child relationship between them.

When interacting in asynchronous mode, the main window-frame responds immediately after sending a message to the page window, without waiting for the completion of processing the message.

The parent window (main window-frame) is synchronized with the child window (page window), sending a synchronization message according to the prior art. For example, when a parent window moves, it sends a corresponding message to the child window and the child window also moves. If in this case the thread in which the child window is loaded is blocked and does not respond to the message, the parent window will continue to wait for the message to be answered. Therefore, the parent window is blocked, and as a result, the stream in which it is loaded is also blocked, and the entire program stops responding. However, since in the present invention, the page window and the main frame window interact with each other in asynchronous mode, the main frame window responds immediately after the message is transmitted to the page window, without waiting for the processing of the message. Therefore, even if the page window does not respond to this message, the main frame window can continue to process its message. Thus, the problem of the lack of reaction of the main window-frame due to the lack of reaction of the page window can be eliminated and false suspension can be limited to one page window.

In addition, in the absence of a parent-child relationship between the page window and the main frame window, these windows mimic the representation of such a relationship. Representation of the parent-child relationship includes moving a page window, resizing it, showing or hiding it in synchronization with moving, resizing, showing or hiding the main frame window. If the page window does not meet the main window, the user can switch to another page window or close the page window that does not respond to requests. The simulation operation can be limited only to the page window and the main window-frame, displayed to the user. For example, if the main window-frame moves, the user manually imitates the representation of the initial parent-child relationship between the main window-frame and the page window, i.e. manually moves the page window displayed for it.

In accordance with the present invention, each page is loaded in an independent stream. If one page is in a false pause state, the other pages are not affected. Since the parent-child relationship between the page window and the main window-frame is deleted and these windows interact with each other in asynchronous mode, the main window-frame (parent) responds immediately after sending a message, without waiting for processing from the side of the page window (child) . Therefore, even if the page window does not respond to user actions, this fact does not affect the main window-frame. Thus, a false suspension of one page window will not affect the operation of the main window-frame and can be limited to one page window to effectively prevent the entire browser from pausing due to a false suspension of one page window.

The present invention also provides a device for preventing false suspension of a multi-page browser. As can be seen from figure 4, this device contains:

the first setting unit 40, used to configure the page window as a top-level window and remove the parent-child relationship between the page window and the main frame window, ensuring that these windows are at the same level;

an interaction unit 41, which provides asynchronous interaction between the page window and the main frame window without a parent-child relationship between them.

The device also includes a simulator 42 used to simulate the presentation of the parent-child relationship between the page window and the main frame window when this relationship is deleted. The imitation of the parent-child relationship representation provides a mode in which, when moving, resizing, displaying or hiding the main frame window, the page window also moves, resizes, shows, or hides accordingly.

In a single-threaded environment, the device also contains a second tuner 43, which serves to configure a separate stream for each page window, i.e. to load each page in an independent stream.

The proposed device can be configured as part of an existing device for the browser management system or can be a new added device. A method and apparatus for preventing false suspension of a multi-page browser is suitable for any type of browser core, for example, the IE kernel.

Since the parent-child relationship between the page window and the main window is deleted in the present invention and these windows interact with each other in asynchronous mode, the main window (parent) responds immediately after the message is transmitted, without waiting for processing from the page window (subsidiary). Therefore, even if the page window does not respond, the main frame window is not affected. Thus, a false suspension of one page window will not affect the operation of the main frame window. By loading each page window in an independent flow, false suspension of one page window will not affect other page windows. As a result, a false pause can be limited by the borders of one page window to effectively prevent the problem of false suspension of the entire browser due to a false suspension of one page window.

In summary, it can be noted that in the present invention, the parent-child relationship between the page window and the main frame window is removed, and these windows interact with each other in asynchronous mode. In this case, the main window-frame responds immediately after sending a message, without waiting for processing from the page window. Therefore, even if the page window does not respond to user actions, this circumstance will not affect the main window-frame in order to avoid the problem of false suspension of the entire browser due to false suspension of one page window and to improve user experience.

In addition, in a single-threaded environment, each page is provided with an independent flow and an independent message queue is allocated to solve the problem of false suspension of all pages due to false suspension of one page.

Specialists in the art should understand that at least part of the steps of the proposed method can be implemented in software, by transmitting instructions to the appropriate equipment to perform these steps, and the corresponding program can be stored in a machine-readable storage medium, for example, read-only memory (ROM), random access memory (RAM), on a disk, a compact disk or in similar devices.

The examples described above are preferred variants of the invention and should not be construed as limiting the scope of its legal protection. Any modifications and equivalent replacements that meet the essence of the present invention and are obvious to specialists in this field of technology should be construed as falling within the scope of the claims of this invention. Therefore, the scope of legal protection of the present invention should be determined only by its formula.

Claims (9)

1. The way to prevent false suspension of a multi-page browser, characterized in that it contains the following steps:
setting the page window as a window that is on the same level with the main window-frame;
Removing the parent-child relationship between the page window and the specified main frame window
interaction in the asynchronous mode of the page window with the main window-frame without the parent-child relationship between them.
2. The method according to claim 1, characterized in that when the main window-frame is at the upper level, the page window is configured as a top-level window.
3. The method according to claim 1 or 2, also including:
A simulation of the parent-child relationship between the page window and the main frame window when the relationship is deleted.
4. The method according to claim 3, in which the specified imitation of the representation of the relationship "parent-child" includes:
corresponding movement, resizing, showing or hiding the page window, if moving, resizing, showing or hiding the main window-frame.
5. The method according to claim 1 or 2, also including:
setting up a separate stream for each page window in a single-threaded environment.
6. Device to prevent false suspension of a multi-page browser, characterized in that it contains:
the first configuration block, configured to configure the page window as a window located at the same level as the main window-frame, and also with the ability to remove the parent-child relationship between the page window and the main window-frame;
an interaction unit that provides asynchronous interaction between the page window and the main frame window without a parent-child relationship between them.
7. The device according to claim 6, in which the first setting unit is configured to configure the page window as a top-level window when the main frame window is at the upper level.
8. The device according to claim 6 or 7, also containing:
a simulation unit configured to simulate a parent-child relationship between the page window and the main frame window when the relationship is deleted.
9. The device according to claim 6 or 7, which, if used in a single-threaded environment, also contains:
a second tuner configured to configure a separate stream for each page window.
RU2012101504/08A 2009-07-02 2010-06-28 Method of preventing false interruption of multi-page browser and corresponding device RU2520361C2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2009101520074A CN101609470B (en) 2009-07-02 2009-07-02 Method and device for preventing apparent death of multi-page browser
CN200910152007.4 2009-07-02
PCT/CN2010/074618 WO2011000299A1 (en) 2009-07-02 2010-06-28 Method and device for preventing apparent death of multi-page browser

Publications (2)

Publication Number Publication Date
RU2012101504A RU2012101504A (en) 2013-08-10
RU2520361C2 true RU2520361C2 (en) 2014-06-20

Family

ID=41483224

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012101504/08A RU2520361C2 (en) 2009-07-02 2010-06-28 Method of preventing false interruption of multi-page browser and corresponding device

Country Status (4)

Country Link
CN (1) CN101609470B (en)
BR (1) BRPI1011927A2 (en)
RU (1) RU2520361C2 (en)
WO (1) WO2011000299A1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504658B (en) * 2009-01-23 2011-09-28 北京搜狗科技发展有限公司 Method and system for implementing message interaction in multi-tag application program
CN101609470B (en) * 2009-07-02 2011-08-10 腾讯科技(深圳)有限公司 Method and device for preventing apparent death of multi-page browser
CN102375758A (en) * 2010-08-20 2012-03-14 联芯科技有限公司 Method and device for preventing apparent death of browser of mobile communication equipment
CN102385594B (en) * 2010-08-31 2015-09-30 腾讯科技(深圳)有限公司 The kernel control method of multi-core browser and device
CN102843394B (en) * 2011-06-22 2015-12-09 腾讯科技(深圳)有限公司 The frame mounting of network application and operation method
CN103116503B (en) * 2011-11-17 2016-12-07 华为软件技术有限公司 The implementation method of a kind of multiwindow and device
CN102591711B (en) * 2011-12-29 2014-06-25 奇智软件(北京)有限公司 Method and device for preventing apparent death of window
CN104035815B (en) * 2011-12-29 2017-12-12 北京奇虎科技有限公司 A kind of window prevents seemingly-dead method and apparatus
CN102541564B (en) * 2011-12-31 2015-09-23 东软集团股份有限公司 A kind of UI multiplexing method and device
CN102915256B (en) * 2012-03-08 2015-02-18 北京金山安全软件有限公司 Message transmitting method and message transmitting device in multi-core browser
CN102915251B (en) * 2012-03-08 2014-06-18 北京金山安全软件有限公司 Method and device for processing message in multi-page browser
CN103377228B (en) * 2012-04-25 2016-09-07 阿里巴巴集团控股有限公司 A kind of content of pages rendering method for browser and device
CN102722559B (en) * 2012-05-31 2015-09-16 北京奇虎科技有限公司 A kind of course control method of the abnormal page, device and system
CN103631706B (en) * 2012-08-27 2018-09-04 腾讯科技(深圳)有限公司 A kind of browser testing method and apparatus
CN103810238A (en) * 2013-11-20 2014-05-21 国家电网公司 Large-data-volume Excel file exporting method based on asynchronous processing
CN104252538B (en) * 2014-09-22 2018-10-12 可牛网络技术(北京)有限公司 Web page processing method and device
CN104572271B (en) * 2015-02-04 2018-04-13 北京瑞星网安技术股份有限公司 Multi-tag page browsing device prevents seemingly-dead method and system
CN105975325A (en) * 2016-04-22 2016-09-28 浙江工业大学 Control method for automatically jumping out of blocking code segment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0974900A2 (en) * 1998-07-20 2000-01-26 Hewlett-Packard Company Method for communicating between frames within a web browser window
CN101299220A (en) * 2008-06-24 2008-11-05 腾讯科技(深圳)有限公司 Method for disassembling and combining multiple-page browser window and multiple-page browser
RU2007137058A (en) * 2005-04-07 2009-04-20 Майкрософт Корпорейшн (Us) System and method for selecting tabs in browser with tabs

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504658B (en) * 2009-01-23 2011-09-28 北京搜狗科技发展有限公司 Method and system for implementing message interaction in multi-tag application program
CN101609470B (en) * 2009-07-02 2011-08-10 腾讯科技(深圳)有限公司 Method and device for preventing apparent death of multi-page browser

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0974900A2 (en) * 1998-07-20 2000-01-26 Hewlett-Packard Company Method for communicating between frames within a web browser window
RU2007137058A (en) * 2005-04-07 2009-04-20 Майкрософт Корпорейшн (Us) System and method for selecting tabs in browser with tabs
CN101299220A (en) * 2008-06-24 2008-11-05 腾讯科技(深圳)有限公司 Method for disassembling and combining multiple-page browser window and multiple-page browser

Also Published As

Publication number Publication date
CN101609470B (en) 2011-08-10
RU2012101504A (en) 2013-08-10
CN101609470A (en) 2009-12-23
BRPI1011927A2 (en) 2016-04-19
WO2011000299A1 (en) 2011-01-06

Similar Documents

Publication Publication Date Title
US9542245B2 (en) Processing user input events in a web browser
US20190386942A1 (en) Event notification
US9864578B2 (en) Techniques for distinguishing respective user input commands as directed to media player and program for displaying web pages
US8689232B2 (en) Object synchronization in shared object space
US9760236B2 (en) View virtualization and transformations for mobile applications
AU2013293535B2 (en) Providing access to a remote application via a web client
US20140223356A1 (en) System and Method for Browsing Tabbed-Heterogeneous Windows
US8407321B2 (en) Capturing web-based scenarios
US9635138B2 (en) Client-server input method editor architecture
CN102473102B (en) System and method for initiating a multi-environment operating system
US8744852B1 (en) Spoken interfaces
US8676926B2 (en) System and method for handling remote drawing commands
US5261079A (en) Interface for keyboard emulation provided by an operating system
JP4872049B2 (en) Fail-safe computer assistance assistant
JP5125659B2 (en) Information processing apparatus, information processing method, and computer program
CN103345405B (en) Startup method, device and the client of application program
CA2685087C (en) Selective enabling of multi-input controls
US6061699A (en) Method and computer program product for extracting translatable material from browser program function codes using variables for displaying MRI
Florins et al. Graceful degradation of user interfaces as a design method for multiplatform systems
US8863113B1 (en) Method and system for unattended installation of guest operating system
CN103718161B (en) WEB application architectural framework
DE112011105933T5 (en) Methods and apparatus for dynamically customizing a virtual keyboard
US9021367B2 (en) Metadata capture for screen sharing
US6195094B1 (en) Window splitter bar system
US6668370B1 (en) Synchronous execution of object-oriented scripts and procedural code from within an interactive test facility