WO2010083772A1 - 一种实现多标签应用程序中进行消息交互的方法及系统 - Google Patents
一种实现多标签应用程序中进行消息交互的方法及系统 Download PDFInfo
- Publication number
- WO2010083772A1 WO2010083772A1 PCT/CN2010/070326 CN2010070326W WO2010083772A1 WO 2010083772 A1 WO2010083772 A1 WO 2010083772A1 CN 2010070326 W CN2010070326 W CN 2010070326W WO 2010083772 A1 WO2010083772 A1 WO 2010083772A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- window
- page
- label
- message
- application
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Definitions
- the present invention relates to the field of multi-tag application technologies, and in particular, to a method and system for implementing message interaction in a multi-tag application.
- the browser is the most commonly used portal for users to access the Internet. In many cases, users want to be able to pay attention to many web pages at the same time, but the size of the screen is limited, so a multi-tab browser appears.
- each tag corresponds to a web page. Users can only focus on the content of one web page at a specific time. When they want to pay attention to the content of other web pages, they only need to switch tabs.
- this multi-tab browser can provide convenience for users to view web pages, there are often cases where the page is suspended (that is, the user cannot operate the webpage, such as scrolling a page, clicking a link, etc.), that is, when a page window is suspended, Other page windows will also be in a suspended state. For example, a user opens 10 pages, and the current page is the sohu home page. If the user suddenly browses the page and the page suddenly dies, then the other 9 pages cannot be operated. At this point, the user has to cancel the browsing of the other 9 pages, end the browser process, then restart the browser, and then re-open these 9 pages to continue browsing. Summary of the invention
- the embodiment of the present invention provides the following solutions:
- a method for implementing message interaction in a multi-label application including:
- the creating a page window corresponding to the label in the multi-label application as a top-level window includes:
- a page window corresponding to each tag in the multi-label application is created as a top-level window that is level with the main frame window of the multi-label application.
- the performing the message interaction related to the page window includes:
- the main frame window of the multi-tag application sends a message to the page window in a non-blocking manner.
- the non-blocking manner includes: an asynchronous message sending manner or a synchronous message sending manner with a timeout mechanism.
- the performing the message interaction related to the page window includes: establishing and saving a correspondence between the main frame window of the multi-label application and the page window;
- main frame window sends a message to the corresponding page window according to the correspondence between the main frame window and the page window;
- Triggering the page window performs an operation corresponding to the received message.
- the method further includes:
- the position and size of the page window are adjusted to match the position and size of the main frame window of the multi-label application.
- it also includes:
- the creating a page window corresponding to the label in the multi-label application as the top-level window includes:
- the page window corresponding to the new tag is created as a top-level window.
- the multi-tag application comprises a multi-tag web browser or a multi-tag document editor or a multi-tag reader.
- the method further includes: the page window corresponding to the different tags in the multi-label application belongs to different threads.
- the method further includes: the main frame window of the multi-label application and the page window corresponding to the label belong to different threads.
- the creating a page window corresponding to the label in the multi-label application as the top-level window includes:
- the present invention also provides a system for implementing message interaction in a multi-label application, comprising: a window management module, configured to create a page window corresponding to a label in a multi-label application as a top-level window;
- a message interaction module configured to perform message interaction related to the page window.
- the window management module is specifically configured to create a page window corresponding to each label in the multi-label application as a top-level window that is level with a main frame window of the multi-label application.
- the message interaction module is specifically configured to send a message to the page window in a non-blocking manner by a main frame window of the multi-label application.
- the message interaction module includes:
- Corresponding relationship saving submodule configured to establish and save a correspondence between a main frame window of the multi-label application and the page window;
- a communication submodule configured to send a message to the corresponding page window according to the correspondence between the main frame window and the page window, and trigger the page window to perform an operation corresponding to the received message .
- it also includes:
- a window adjustment module configured to adjust a position and a size of the page window to match the position and size of the main frame window of the multi-label application.
- it also includes:
- the prompt module is used to send a prompt message to the user when the page window is suspended.
- the window management module is specifically configured to create a new label in the multi-label application, and create a page window corresponding to the new label as a top-level window.
- the multi-tag application comprises a multi-tag web browser or a multi-tag document editor or a multi-tag reader.
- it also includes:
- the first creating module is configured to create a page window corresponding to different tags in the multi-label application in different threads.
- it also includes:
- a second creating module configured to create a main frame window of the multi-label application and a page window corresponding to the label in different threads.
- the window management module is specifically configured to create a page window corresponding to the label in the multi-label application as a top-level window with an empty owner.
- the present invention also provides a computer readable storage medium comprising computer program code, the computer program code being executed by a computer unit such that the computer unit:
- a page window corresponding to a tag in a multi-label application is created as a top-level window, so that the parent window is not present in the page window, and thus, when a message interaction related to such a page window is performed, a certain parent does not appear.
- the window sends a system message to the page window in a blocking manner, thereby avoiding the page fake transmission caused by the system message transmission. Even if a page window is killed, it will not affect other page windows, that is, it can operate normally on other page windows without affecting the normal operation of the entire application.
- FIG. 1 is a schematic diagram of a multi-label web browser interface in the prior art
- FIG. 2 is a flow chart of a method for implementing message interaction in a multi-tag application according to an embodiment of the present invention
- FIG. 3 is a schematic structural diagram of a window of a multi-tab browser in the prior art
- FIG. 4 is a schematic structural diagram of a window of a multi-tab browser established in an embodiment of the present invention
- FIG. 5 is a schematic diagram of an interface when a page window is suspended in an embodiment of the present invention
- FIG. 6 is a schematic diagram of a system for implementing message interaction in a multi-tag application according to an embodiment of the present invention.
- a method for implementing message interaction in a multi-tag application includes the following steps:
- S201 Create a page window corresponding to the tag in the multi-label application as a top-level window
- S202 perform user message interaction in the top-level window, that is, perform message interaction related to the page window, such as an application main frame window Interact with messages between page windows as top-level windows, and more.
- FIG. 1 is a schematic diagram of a multi-label web browser interface in the prior art.
- the small rectangles that display "Travel Start Page”, “Sohu-China", and "Blank Page” are the labels for each page, and each label corresponds to a page window.
- the so-called multi-label application is to integrate the page windows corresponding to each tag in a window, and click on these tags to switch between different pages.
- a plurality of tags can be included in the web browser shown in Fig. 1, and is therefore referred to as a multi-tab web browser.
- the multi-tag application described in the embodiments of the present invention includes, but is not limited to, a multi-label web browser, a multi-label document editor (such as excel, etc.), a multi-label document reader, and the like.
- the application can be divided into a single-process application and a multi-process application, and the page window corresponding to each tag can be created in one process or in multiple different processes.
- the page window corresponding to each tag can be created in one process or in multiple different processes.
- there may be a problem of suspended animation and the problem solved by the embodiment of the present invention can be applied to both single-process applications and multi-process applications.
- the window in the embodiment of the present invention refers to an area on the system display, and the application uses the window to display the output or receive the user's input.
- the "window" described in the embodiment of the present invention is not limited to an operating system based on window class development in the traditional sense of Windows, even in a non-Windows operating system, as long as a computer interface is provided.
- the interface of human-computer interaction (such as a dialog box, etc.) can be regarded as a window described in the embodiment of the present invention.
- the application accesses the system display through the window; on the other hand, the application shares the system display with other applications by using the window. Only one window can receive user input at the same time, and the user can interact with the window and the application that owns the window through an input device such as a mouse or keyboard.
- each graphical interface-based application must create at least one window, called the main frame window, which is the primary interface between the user and the application.
- main frame window which is the primary interface between the user and the application.
- Many applications also create some other windows, directly or indirectly, to accomplish related tasks.
- Windows can provide various user interaction information for that window.
- Windows can automate many of the tasks requested by users, such as moving windows, resizing windows, and more. Allowing the creation of any number of windows in a Windows environment, Windows can display information in a variety of different ways, and is responsible for managing the display screen, controlling the position and display of the window for the application, ensuring that no two applications will compete at the same time. Use the same part of the system monitor.
- the application window is generally composed of a title bar, a menu bar, a toolbar, a border, a client area, a scroll bar, and the like.
- a window is usually connected to a window. That is, a window may have zero or one or more child windows, and each child window can only have one fixed parent window. If the parent window of a window does not exist or is a desktop window (a window with a window class #32769 is called a desktop window), this window is called a top-level window.
- the operation of a Windows application needs to be driven by an external event.
- the information describing the event is called a message.
- the system will A specific message is generated that identifies the occurrence of a keyboard pressed event.
- the so-called event-driven refers to the order in which Windows applications are executed depends on the order in which events occur.
- the event-driven design is built around the generation and processing of messages. Windows applications continue to get any possible input messages at runtime, make judgments, and then do the appropriate processing.
- the application accepts input by entering a message, and an input message is generated when the mouse is moved or the keyboard is pressed.
- the Windows system is responsible for monitoring all input devices and placing input messages into a queue, which is a system-defined block of memory used to temporarily store messages, called a system message queue.
- GDI Graphics Device Interface
- the resulting input message When the user moves the mouse or taps the keyboard, the resulting input message first enters the system message queue. Windows then removes an input message from the system message queue each time, determines the destination window, and feeds the input message into the message queue of the application that created the window.
- Application through application The sequence queue receives input, it retrieves the message from the application queue through a control structure called a message loop, and sends the retrieved message to the corresponding window, and the window function of the window is responsible for judging the message and performing Corresponding processing.
- System messages are different from input messages, and Windows systems send it directly to the relevant window functions without going through the system message queue and the application queue.
- the Windows system directly affects the event notification window of a window. For example, when a user activates an application window, the Windows system sends the corresponding system message directly to the window.
- blocking mode such as
- SendMessage etc.
- non-blocking methods such as PostMessage, PostThreadMessag, SendMessageCallback % SendNotifyMessage % SendMessage Timeout, etc.
- PostMessage, PostThreadMessage, SendMessageCallback, and SendNotifyMessage are asynchronous message sending methods, called SendMessageTimeout, which is a synchronous message sending method with a timeout mechanism.
- thread A sends a message M to window B in a blocking manner, thread A must wait for window B to process message M before continuing execution; if window B has an infinite loop, deadlock, etc. during processing message M, This process can not return, you can think that window B has a suspended animation, then thread A can not continue to run, and can not receive and process other messages, it can be considered that the false death of window B directly leads to the death of thread A, this All windows in thread A will lose their response.
- thread A If the message is sent in a non-blocking manner, thread A returns immediately after sending the message to window B, without waiting for window B to process the message (if using asynchronous method such as PostMessage, there is no need to wait; if it is using SendMessageTimeout, Then, a waiting time can be preset. If the waiting time exceeds the preset threshold, it will not wait and return to process other messages. Assume that window B is suspended, and thread A can continue to run.
- asynchronous method such as PostMessage, there is no need to wait; if it is using SendMessageTimeout, Then, a waiting time can be preset. If the waiting time exceeds the preset threshold, it will not wait and return to process other messages. Assume that window B is suspended, and thread A can continue to run.
- window B does not belong to thread eight. If window B belongs to thread A, then both blocking mode and non-blocking mode will cause false death, that is, window B's suspended animation will affect thread A.
- window B can be either a sub-window or a top-level window, and the window structure does not affect the performance.
- the way the input message is sent is usually determined by the application (usually set to non-blocking mode); and the way the system message is sent is generally determined by the operating system to the current For example, the most widely used Windows operating system, system messages sent by the Windows operating system are blocked (usually in the form of SendMessage).
- a multi-label web browser is taken as an example.
- a multi-tab browser if a certain page is suspended, the reason for the operation of other pages cannot be analyzed.
- FIG. 3 shows the web browsing as shown in FIG. 1 in the browsing browser.
- Maxthon2—View is the window that displays the content of the web page, referred to as the page window. It should be noted that Maxthon2_View is just a container window, and it has other child windows, such as Internet Explorer_Server (not shown in the figure) for displaying web content. Since there are currently 3 web pages open, you can see that there are 3 Maxthon2_View page windows in the window structure diagram. These 3 page windows are all "Afe:400000:2008:10011 :0:0, this window is the parent window. .
- each label corresponds to a web page
- each web page is managed by a set of windows (referring to a group of sub-windows that are not displayed under "+” in front of "Maxthon2_View” in the above structure diagram).
- This set of windows has a parent window (Maxthon2_View in the above structure), and this parent window also has a parent window (that is, "Afx:400000:2008: 10011 :0:0,” in the above structure).
- the processing flow is as follows: the user first clicks the zoom button, and then the window in which the button is located notifies the main frame window The clicked message, then the main frame window finds the page window corresponding to the currently displayed tag, and sends a message for zooming to the page window, so the page window performs the zoom function after receiving the message.
- the main frame window finds the page window corresponding to the currently displayed tag, and sends a message for zooming to the page window, so the page window performs the zoom function after receiving the message.
- some system messages need to be exchanged between windows. These system messages are sent by the Windows operating system, and are blocked messages. Sending is done, so the operation of the window can only be completed when all messages get a response.
- the parent window "Afx:400000:2008:10011 :0:0" of the "05B6" page window needs to send system messages to its various child windows (including “05B6", “070C” and "0774") in blocking mode. And, only when each system message is responded, the window can be zoomed.
- the parent window "Afx:400000 :2008: 10011: 0 :0” is also required to block the system message to each sub-window such as "070C”, but since ⁇ ⁇ The dead "05B6" window has been unable to respond to the parent window "Afx:400000:2008: 10011 :0:0", and based on the blocking mode of the sending mechanism, the parent window "Afx:400000:2008: 10011 :0:0 "Before getting the response of the "05B6" window, no other operations can be performed, so it is impossible to send a system message to the child window in order to complete the user's operation on "070C", and the user's operation on "070C” is also forever.
- top-level windows (A, B, C%) have a common "Owner" window 0 .
- the owner window O sends WM POSCHANGING and WM_POSCHANGED messages to other top-level windows (B, C%) in a blocking manner.
- this may not be the case in other operating systems.
- the root cause of the window death caused by the entire browser is that the page window where each label is located has a common parent window, and each page window responds to the user's input information.
- the parent window sends (in blocking mode) system messages to each page window, and the user information can be completed only when each message can be processed normally. Therefore, if a page window A has a suspended animation, when the parent window sends a system message to it, it will not be able to return a response message to the parent window, so that the parent window is always in a waiting state; if it needs to operate on other page windows, The parent window also failed to respond, so the operation of other page windows could not be completed, and the entire application could not function properly.
- each page window is a child window of "Afx:400000:2008:10011:0:0", and "Afx:400000:2008: 10011 :0:0" is the main frame.
- the child window of the window therefore, In this example, there is no direct parent-child relationship between the main frame window and the page window.
- the page window is directly used as a child window of the main frame window (ie, the direct father and son between the two. Relationship), there may even be cases where a multi-layer window is included between the page window and the main frame window, and so on.
- the page window has a parent window, and its parent window will inevitably send system messages to it in a blocking manner. Therefore, there will be a phenomenon of suspended animation.
- the system message sent by the parent window to each page window in blocking mode may not have any practical meaning (the operating system may use this message, but the application will not use it, it can be understood as even if Windows does not When this message is sent, the program can also run normally.
- each page window receives the message of the parent window, it only needs to return a response message, and no other processing is required. That is to say, in fact, if the parent window does not send a system message to each page window, the currently displayed page window can still process the user input information.
- the embodiment of the present invention creates a page window corresponding to each tag in the multi-label application as a top-level window that is level with the main frame window of the application, so that no parent window sends the system to the page window in a blocking manner.
- Message may also have a common owner, the owner may also generate system messages to the page window, therefore, in order to avoid the owner window to send the system to each page window The message also needs to leave the owner of the top-level window empty.
- a previous application corresponds to a tree
- an application corresponds to multiple trees (the number of trees is determined by the number of tags in the application), and the window structure is as shown in the figure.
- FIG. 4 is a schematic diagram of a window structure of a multi-tab browser established according to an embodiment of the present invention, where
- SE_AxControl is the page window for each tag. It can be seen that this structure makes the page window corresponding to the label no longer have a parent window (or the parent window is a desktop), and in response to the user input information, there is no longer a parent window to send a message to each page window, each page window They are independent of each other. Therefore, in response to the user inputting information, even if a page window has a suspended animation, the other page windows will not be affected. The user can continue to browse other page windows, and the user can also appear. The dead page window is closed or reloaded.
- the interaction of various input messages may be performed in a non-blocking manner or in a blocking manner.
- you can make the main frame window send a message to the page window you can return without waiting for the window to process the message, and process the messages of other page windows, the effect will be better.
- the manner in which the main frame window sends messages to the page window and what messages occur can be controlled by the multi-tag application itself. In other words, it is possible to modify the third-party application. (such as a browser) To achieve.
- the parent window sends the system message to the child window (the page window in the prior art) in a blocking manner, which is controlled by the Windows operating system and is not controlled by the third party application (browser). It is impossible to change the way a system message is sent by modifying a third-party application, which is the most difficult problem to solve the problem of page fatality.
- Another embodiment of the present invention is to modify a page window that is originally in the form of a child window to be a top-level window, so that each page window has no parent window at all, and thus there is naturally no parent window required by the Windows operating system to each page. The window sends a system message, which finally solves the problem of page fake transmission.
- different windows may be caused to belong to different threads (for example, different page windows belong to different threads, and/or, main frame window and page window) Belong to different threads), in order to further reduce the occurrence of suspended animation.
- different threads for example, different page windows belong to different threads, and/or, main frame window and page window
- main frame window and page window Belong to different threads
- the user may be given a prompt message (informing the user that the page window is suspended, reminding the user to perform the operation such as closing or reloading, see FIG. 5). It can be seen that the embodiment of the present invention effectively improves the user experience.
- a page window is suspended or not, it can be detected by some alternative methods. For example, if the page window does not process any message sent to it for a period of time (for example, 5 seconds), it is considered that the page window may be suspended. and many more. It should be noted that in fact, it may not be possible to accurately detect whether a page window has a suspended animation (this cannot be done by Windows itself), which may cause certain false positives.
- the main frame window and the page window corresponding to the label have a certain correspondence relationship, according to the corresponding relationship, the main frame window can be finally realized.
- a traditional window structure like a browser, Windows can automatically establish this correspondence.
- you can use a system function such as GetWindow(CHILD)
- GetWindow(CHILD) GetWindow(CHILD)
- the traditional window structure is broken, and the Windows system may not automatically establish the correspondence between the main frame window and the page window, and thus there is no function to call to obtain the page window.
- the embodiment of the present invention may adopt the following manner: When the page window corresponding to the tag is created as the top window, the main frame window and the page window are established. Corresponding relationship between the two, and the corresponding relationship is saved, so that after receiving the message of the user, the main frame window can find a corresponding page window according to the pre-saved correspondence relationship, and send a message to the page window, the message It can be sent in a non-blocking message transmission mode. Then, the page window performs a corresponding operation according to the received message, wherein the operation may include zooming, switching, or viewing of the window, and the like. Of course, the future Windows system or other operating system is not excluded. Under the window structure described in the embodiment of the present invention, the correspondence between the main frame window and the page window can be automatically established.
- the page window corresponding to the label can be created as the top window at any time according to actual needs.
- the page window corresponding to the label can be created as the top window while the new label is created.
- the creation of the new label may include the following two types: one is that the user creates a new label by double-clicking on the label bar, and the page window corresponding to the label may be blank; One is to open a web page in the page window corresponding to the new tab. At this time, the link is usually clicked on the currently displayed page, and the browser automatically creates a new tab. In a multi-label text editor, the meaning of this approach is highlighted.
- the occurrence of suspended animation in the page window will not only occur during the process of text editing, but also during the process of opening excel text. If an excel text is opened, the page window corresponding to one of the tags occurs. If the page window corresponding to the label is not created as a top-level window, it may result in the inability to view other data in the page window where no suspended animation occurs. Therefore, when a new tag is created, its corresponding page window is created as a top-level window, which can prevent this from happening.
- the page window corresponding to the label of the main frame window is independent of each other, instead of the page window corresponding to the label being a sub-window of the main frame window, as in the conventional structure. Child window. If the necessary settings are not made, the size of the main frame window and the page window and the position where they appear can be arbitrary. However, in order to obtain a better visual effect for the user, the position and size of the page window corresponding to the label can be adaptively adjusted to match the position and size of the main frame window. In other words, the interface that is ultimately presented to the user may be related to migration, etc. There is no difference between browsers, but in fact the interface is not a whole, but is stitched together.
- An interface that can be provided to a user by an embodiment of the present invention is referred to as an "Asynchronous User Interface (UI)." This kind of user interface can prevent a tab page ⁇ from causing the browser framework or other tab pages to be inoperable.
- UI Asynchronous User Interface
- the method includes the following steps: creating a page window corresponding to the label in the multi-label application as a top-level window; performing message interaction in the multi-label application.
- the storage medium is, for example, a ROM/RAM, a magnetic disk, an optical disk, or the like.
- the embodiment of the present invention further provides a system for implementing message interaction in a multi-label application.
- the system includes the following: Module:
- the window management module U601 is configured to create a page window corresponding to the label in the multi-label application as a top-level window.
- the main frame window of the multi-label application is also a top-level window, so the page window is created. After the top-level window, the page window is level with the main frame window, which is the top-level window.
- the message interaction module U602 is configured to perform interaction of the user message in the top-level window, that is, perform message interaction related to the page window, such as message interaction between the application main frame window and the page window as the top-level window. and many more.
- the window management module U601 creates a page window corresponding to the tag in the multi-label application as a top-level window, and performs message interaction in the multi-label application.
- the page window corresponding to each tag can be made to have no parent window, so when the message is responded, there is no parent window sending the system message to each page window in a blocking manner, so that even if a certain page window is suspended, other page windows are not Will be affected, which will enhance the user experience.
- the window management module U601 may create a page window corresponding to the label in the multi-label application as a top-level window with an empty owner. It should be noted that in a non-Windows operating system, there may be cases where the owner is not empty, and only the page window corresponding to the label in the multi-label application needs to be created as a top-level window, so that the user can When the page window operates, There is no purpose that a parent window needs to send system messages to each page window as its child window in a blocking manner, thereby achieving the purpose of reducing the probability of occurrence of death transmission.
- the message interaction module U602 can be specifically used for the main frame window of the multi-label application to send a message to the page window in a non-blocking manner.
- the message may be sent to the page window corresponding to each label through the main frame window, and then the corresponding operation is performed by each page window, which requires the main frame window. Correspond to the page window.
- the message interaction module U602 may include the following sub-modules: a correspondence relationship saving sub-module U6021, configured to establish and save a correspondence between the main frame window of the multi-label application and the page window;
- the communication sub-module U6022 is configured to trigger the main frame window to send a message to a top-level window corresponding to the corresponding tag, and trigger the top-level window to perform an operation corresponding to the received message.
- the system can also include:
- the window adjustment module U603 is configured to adjust a position and a size of the page window to match the position and size of the page frame to the main frame window.
- system can also include:
- the prompting module U604 is configured to send a prompt message to the user when a page window corresponding to a label is suspended. This includes prompting the user to close the window or reload, and so on.
- the page window corresponding to the new tag may be created as a top-level window while creating a new tag, such as creating a new blank page or opening it in a new window.
- This method is especially beneficial for multi-label text editors, which can prevent the entire file from being opened normally due to the suspended animation of a page during the process of opening the file.
- the page window corresponding to the label can be created as a top-level window at any time according to actual needs, for example, when more page windows are opened.
- the system may further include:
- the multi-threaded creation module can make the page windows corresponding to different tags in the multi-label application belong to different threads.
- the system may further include:
- a second creating module configured to create a main frame window of the multi-label application and a page window corresponding to the label in different threads. That is, the main frame window of the multi-label application and the individual page windows also belong to different threads. Thus, if the main frame window needs to send a message to the page window, since the two are not in the same thread, as long as they are sent in a non-blocking manner, the phenomenon of suspended animation will not occur.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011546578A JP2012515961A (ja) | 2009-01-23 | 2010-01-22 | マルチタブアプリケーションにおけるメッセージ対話を実現する方法およびシステム |
RU2011134656/08A RU2490693C2 (ru) | 2009-01-23 | 2010-01-22 | Способ и система для реализации обмена сообщениями в прикладной программе с несколькими вкладками |
EP10733245.4A EP2390796A4 (en) | 2009-01-23 | 2010-01-22 | METHOD AND SYSTEM FOR MESSAGE INTERACTION IN A MULTI-TAB APPLICATION |
CN2010800053390A CN102356391B (zh) | 2009-01-23 | 2010-01-22 | 一种实现多标签应用程序中进行消息交互的方法及系统 |
US13/186,573 US8887082B2 (en) | 2009-01-23 | 2011-07-20 | Method and system for realizing message interactions in a multi-tabs application |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100778695A CN101504658B (zh) | 2009-01-23 | 2009-01-23 | 一种实现多标签应用程序中进行消息交互的方法及系统 |
CN200910077869.5 | 2009-01-23 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/186,573 Continuation US8887082B2 (en) | 2009-01-23 | 2011-07-20 | Method and system for realizing message interactions in a multi-tabs application |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010083772A1 true WO2010083772A1 (zh) | 2010-07-29 |
Family
ID=40976904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2010/070326 WO2010083772A1 (zh) | 2009-01-23 | 2010-01-22 | 一种实现多标签应用程序中进行消息交互的方法及系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8887082B2 (zh) |
EP (1) | EP2390796A4 (zh) |
JP (1) | JP2012515961A (zh) |
CN (2) | CN101504658B (zh) |
RU (1) | RU2490693C2 (zh) |
WO (1) | WO2010083772A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591711A (zh) * | 2011-12-29 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种窗口防假死方法和装置 |
CN102915251A (zh) * | 2012-03-08 | 2013-02-06 | 北京金山安全软件有限公司 | 一种多页面浏览器处理消息的方法和装置 |
CN104035815A (zh) * | 2011-12-29 | 2014-09-10 | 北京奇虎科技有限公司 | 一种窗口防假死方法和装置 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504658B (zh) * | 2009-01-23 | 2011-09-28 | 北京搜狗科技发展有限公司 | 一种实现多标签应用程序中进行消息交互的方法及系统 |
CN101609470B (zh) * | 2009-07-02 | 2011-08-10 | 腾讯科技(深圳)有限公司 | 一种多页面浏览器防假死方法及装置 |
CN102141893B (zh) * | 2011-05-11 | 2012-09-05 | 清华大学 | 面向大幅面交互式桌面的多用户窗口系统 |
US20130031490A1 (en) * | 2011-07-26 | 2013-01-31 | Microsoft Corporation | On-demand tab rehydration |
CN102521026A (zh) * | 2011-11-30 | 2012-06-27 | 深圳市万兴软件有限公司 | 一种实现与iTunes交互的方法和电子设备 |
CN103246505B (zh) * | 2012-02-13 | 2017-11-10 | 腾讯科技(深圳)有限公司 | 一种窗体标题栏的创建方法及装置 |
CN103246552B (zh) * | 2012-02-14 | 2018-03-09 | 腾讯科技(深圳)有限公司 | 防止线程出现阻塞的方法和装置 |
CN103377228B (zh) * | 2012-04-25 | 2016-09-07 | 阿里巴巴集团控股有限公司 | 一种用于浏览器的页面内容呈现方法及装置 |
CN103034695A (zh) * | 2012-12-03 | 2013-04-10 | 北京奇虎科技有限公司 | 浏览器中进行声音控制的方法及装置 |
CN104899088B (zh) * | 2014-03-03 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 一种消息处理方法及装置 |
CN104252538B (zh) * | 2014-09-22 | 2018-10-12 | 可牛网络技术(北京)有限公司 | 网页处理方法和装置 |
CN105677658B (zh) * | 2014-11-19 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 页面展现方法及装置 |
CN104572271B (zh) * | 2015-02-04 | 2018-04-13 | 北京瑞星网安技术股份有限公司 | 多标签页浏览器防假死的方法和系统 |
CN106708613B (zh) * | 2016-05-05 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 一种输入控制灵敏度的检测方法及检测装置 |
CN107368357B (zh) * | 2016-05-11 | 2020-10-09 | 上海高欣计算机系统有限公司 | 资源管理窗口的多标签显示方法及模块 |
US10769233B2 (en) * | 2017-06-13 | 2020-09-08 | Open Text Corporation | Systems and methods for communication across multiple browser pages for an application |
CN109992324B (zh) * | 2017-12-29 | 2022-11-04 | Oppo广东移动通信有限公司 | 应用程序冻结方法、装置、存储介质和终端 |
CN110781009A (zh) * | 2018-07-30 | 2020-02-11 | 北京京东尚科信息技术有限公司 | 浏览器页面实时通信的方法及装置 |
US11036365B2 (en) * | 2019-06-07 | 2021-06-15 | Microsoft Technology Licensing, Llc | Hang condition mitigation for browser applications |
CN112446654A (zh) * | 2019-08-29 | 2021-03-05 | 北京京东尚科信息技术有限公司 | 地图显示方法、装置、设备和存储介质 |
CN115344168B (zh) * | 2021-05-13 | 2024-08-09 | 荣耀终端有限公司 | 消息展示方法、终端及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811764A (zh) * | 2001-03-26 | 2006-08-02 | 腾讯科技(深圳)有限公司 | 在浏览器的单一窗口中显示多个网页的方法和浏览系统 |
US20060271858A1 (en) * | 2005-05-24 | 2006-11-30 | Yolleck Stephen M | Methods and systems for operating multiple web pages in a single window |
CN101183386A (zh) * | 2007-12-07 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 多页面浏览器网页子窗口处理方法及多页面浏览器 |
CN101299220A (zh) * | 2008-06-24 | 2008-11-05 | 腾讯科技(深圳)有限公司 | 多页面浏览器窗口拆分方法、合并方法和多页面浏览器 |
CN101504658A (zh) * | 2009-01-23 | 2009-08-12 | 北京搜狗科技发展有限公司 | 一种实现多标签应用程序中进行消息交互的方法及系统 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049812A (en) * | 1996-11-18 | 2000-04-11 | International Business Machines Corp. | Browser and plural active URL manager for network computers |
US6232971B1 (en) * | 1998-09-23 | 2001-05-15 | International Business Machines Corporation | Variable modality child windows |
US6489975B1 (en) * | 1998-12-14 | 2002-12-03 | International Business Machines Corporation | System and method for improved navigation between open windows in an application program using window tabs |
US6356908B1 (en) * | 1999-07-30 | 2002-03-12 | International Business Machines Corporation | Automatic web page thumbnail generation |
US6801227B2 (en) * | 2001-01-16 | 2004-10-05 | Siemens Medical Solutions Health Services Inc. | System and user interface supporting user navigation and concurrent application operation |
US6981223B2 (en) * | 2001-03-19 | 2005-12-27 | Ecrio, Inc. | Method, apparatus and computer readable medium for multiple messaging session management with a graphical user interface |
US20030097640A1 (en) * | 2001-07-25 | 2003-05-22 | International Business Machines Corporation | System and method for creating and editing documents |
WO2003040955A1 (en) | 2001-11-06 | 2003-05-15 | Farooq Khan | Method and apparatus for capturing and displaying web page information |
GB0203617D0 (en) * | 2002-02-15 | 2002-04-03 | Ibm | Application window closure in response to event in parent window |
US7177815B2 (en) * | 2002-07-05 | 2007-02-13 | At&T Corp. | System and method of context-sensitive help for multi-modal dialog systems |
US7487460B2 (en) * | 2003-03-21 | 2009-02-03 | Microsoft Corporation | Interface for presenting data representations in a screen-area inset |
US7921365B2 (en) * | 2005-02-15 | 2011-04-05 | Microsoft Corporation | System and method for browsing tabbed-heterogeneous windows |
US7596760B2 (en) * | 2005-04-07 | 2009-09-29 | Microsoft Corporation | System and method for selecting a tab within a tabbed browser |
US7673255B2 (en) * | 2005-04-22 | 2010-03-02 | Microsoft Corporation | Interface and system for manipulating thumbnails of live windows in a window manager |
US20070073697A1 (en) * | 2005-06-20 | 2007-03-29 | Woods Michael E | System, Method, and Computer Program Product for Internet Tool |
US9195372B2 (en) * | 2006-06-28 | 2015-11-24 | Scenera Technologies, Llc | Methods, systems, and computer program products for grouping tabbed portion of a display object based on content relationships and user interaction levels |
US7793226B2 (en) * | 2006-08-14 | 2010-09-07 | International Business Machines Corporation | Method and system for grouping and stacking tab user interface objects with icon status indicators |
US8595635B2 (en) * | 2007-01-25 | 2013-11-26 | Salesforce.Com, Inc. | System, method and apparatus for selecting content from web sources and posting content to web logs |
CN101072263A (zh) | 2007-03-30 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种在网络上发起voip呼叫的方法及系统 |
KR100844070B1 (ko) * | 2007-05-09 | 2008-07-07 | 엘지전자 주식회사 | 탭브라우징 이동통신 단말기 및 그 제어방법 |
US20090287559A1 (en) * | 2007-12-20 | 2009-11-19 | Michael Chen | TabTab |
CN101179474B (zh) | 2007-12-21 | 2012-02-01 | 深圳市迅雷网络技术有限公司 | 一种下载方法、系统及装置 |
US20090193358A1 (en) * | 2008-01-30 | 2009-07-30 | Intuit Inc. | Method and apparatus for facilitating information access during a modal operation |
US8631340B2 (en) * | 2008-06-25 | 2014-01-14 | Microsoft Corporation | Tab management in a user interface window |
US8819585B2 (en) * | 2008-10-27 | 2014-08-26 | Microsoft Corporation | Child window surfacing and management |
CN101609470B (zh) * | 2009-07-02 | 2011-08-10 | 腾讯科技(深圳)有限公司 | 一种多页面浏览器防假死方法及装置 |
-
2009
- 2009-01-23 CN CN2009100778695A patent/CN101504658B/zh active Active
-
2010
- 2010-01-22 CN CN2010800053390A patent/CN102356391B/zh active Active
- 2010-01-22 WO PCT/CN2010/070326 patent/WO2010083772A1/zh active Application Filing
- 2010-01-22 EP EP10733245.4A patent/EP2390796A4/en not_active Ceased
- 2010-01-22 RU RU2011134656/08A patent/RU2490693C2/ru active
- 2010-01-22 JP JP2011546578A patent/JP2012515961A/ja active Pending
-
2011
- 2011-07-20 US US13/186,573 patent/US8887082B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811764A (zh) * | 2001-03-26 | 2006-08-02 | 腾讯科技(深圳)有限公司 | 在浏览器的单一窗口中显示多个网页的方法和浏览系统 |
US20060271858A1 (en) * | 2005-05-24 | 2006-11-30 | Yolleck Stephen M | Methods and systems for operating multiple web pages in a single window |
CN101183386A (zh) * | 2007-12-07 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 多页面浏览器网页子窗口处理方法及多页面浏览器 |
CN101299220A (zh) * | 2008-06-24 | 2008-11-05 | 腾讯科技(深圳)有限公司 | 多页面浏览器窗口拆分方法、合并方法和多页面浏览器 |
CN101504658A (zh) * | 2009-01-23 | 2009-08-12 | 北京搜狗科技发展有限公司 | 一种实现多标签应用程序中进行消息交互的方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591711A (zh) * | 2011-12-29 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种窗口防假死方法和装置 |
CN102591711B (zh) * | 2011-12-29 | 2014-06-25 | 奇智软件(北京)有限公司 | 一种窗口防假死方法和装置 |
CN104035815A (zh) * | 2011-12-29 | 2014-09-10 | 北京奇虎科技有限公司 | 一种窗口防假死方法和装置 |
US9575821B2 (en) | 2011-12-29 | 2017-02-21 | Beijing Qihoo Technology Company Limited | Method and device for preventing window's lagging |
CN104035815B (zh) * | 2011-12-29 | 2017-12-12 | 北京奇虎科技有限公司 | 一种窗口防假死方法和装置 |
CN102915251A (zh) * | 2012-03-08 | 2013-02-06 | 北京金山安全软件有限公司 | 一种多页面浏览器处理消息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US8887082B2 (en) | 2014-11-11 |
RU2490693C2 (ru) | 2013-08-20 |
RU2011134656A (ru) | 2013-02-27 |
CN101504658B (zh) | 2011-09-28 |
EP2390796A1 (en) | 2011-11-30 |
CN101504658A (zh) | 2009-08-12 |
JP2012515961A (ja) | 2012-07-12 |
US20110276899A1 (en) | 2011-11-10 |
CN102356391A (zh) | 2012-02-15 |
EP2390796A4 (en) | 2014-09-03 |
CN102356391B (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010083772A1 (zh) | 一种实现多标签应用程序中进行消息交互的方法及系统 | |
US10831363B2 (en) | Content manipulation using swipe gesture recognition technology | |
WO2020238815A1 (zh) | 显示控制方法及装置、电子设备和存储介质 | |
US8838808B2 (en) | Asynchronous communication in web applications | |
US8782127B2 (en) | Notification based web applications | |
US8788627B2 (en) | Interactive web application framework | |
JP5430743B2 (ja) | グラフィカルユーザインタフェース内でスクレープされたウェブページを提供するための方法および装置 | |
US20020199025A1 (en) | System and method to create an application and to manipulate application components within the application | |
US20150149951A1 (en) | Live previews for multitasking and state management | |
US20140282217A1 (en) | Window grouping and management across applications and devices | |
CN106775647A (zh) | 一种移动终端的控制方法、控制装置及移动终端 | |
CN103365546B (zh) | 浏览器窗口创建方法及装置 | |
CN111813308A (zh) | 界面处理方法、装置、电子设备及存储介质 | |
WO2024183458A1 (zh) | 控件处理方法、设备、系统及存储介质 | |
CN103902727B (zh) | 网络搜索方法和装置 | |
US20110258169A1 (en) | Customization of Information Using a Desktop Module | |
US20230359343A1 (en) | Interface processing method and apparatus, electronic device, and computer-readable storage medium | |
US20110258578A1 (en) | Interfacing Between Applications Utilizing a Desktop Module | |
CN115454296B (zh) | 一种跨运行环境的用户行为智能融合方法 | |
WO1999040512A9 (en) | Method and system for user defined interactions between plurality of active software applications | |
US20240095141A1 (en) | Displaying information flow | |
US8566724B2 (en) | Online customization of information using a site management module | |
CN116107575B (zh) | 一种窗口管理器 | |
CN117472489A (zh) | 弹窗显示方法、装置、设备及存储介质 | |
CN117519875A (zh) | 弹窗处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080005339.0 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10733245 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011546578 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010733245 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011134656 Country of ref document: RU |