Techniques for detecting new browser windows
First Claim
1. A method comprising:
- receiving, by a server computer system, a first request originating from a first window of a web browser running on a client computer system, the first request including a Uniform Resource Locator (URL) and a first window identifier corresponding to the first window;
receiving, by the server computer system, a second request originating from a second window of the web browser running on the client computer system, the second request including the URL and the first window identifier corresponding to the first window;
determining whether the second request is an HTTP GET or HTTP HEAD request;
generating, by the server computer system, a loopback identifier associated with the first request;
storing, by the server computer system, the loopback identifier in a user session associated with the first request;
generating, by the server computer system, a script that includes the URL, the first window identifier, and the loopback identifier;
sending, by the server computer system, the script to the second window of the web browser, the script configured to be uncacheable by the client computer system;
enabling the web browser running on the client computer system to execute the script to facilitate determination of whether the second window is a new window or an existing window, the determination comprising a comparison between the first window identifier included in the script and an actual window identifier of the second window; and
enabling transmission of a third request, from the second window, to the server computer system that includes;
the URL, the first window identifier corresponding to the first window, and the loopback identifier when the first window identifier included in the script and the actual window identifier of the second window match;
orthe URL, the actual window identifier of the second window, and the loopback identifier when the first window identifier included in the script and the actual window identifier of the second window do not match.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide techniques for tracking the lifecycles of client-side browser windows in the context of a web application. In one set of embodiments, a server component of a web application can receive a request originating from a client-side browser window, where the request includes a resource locator (e.g., a URL) and a window identifier. In response, the server component can send a script to the window for retrieving the window'"'"'s actual identifier/name. Based on the actual identifier returned by the script and the window identifier included in the initial request, the server component can determine whether the window is a new window or an existing window and can process the request as appropriate.
79 Citations
9 Claims
-
1. A method comprising:
-
receiving, by a server computer system, a first request originating from a first window of a web browser running on a client computer system, the first request including a Uniform Resource Locator (URL) and a first window identifier corresponding to the first window; receiving, by the server computer system, a second request originating from a second window of the web browser running on the client computer system, the second request including the URL and the first window identifier corresponding to the first window; determining whether the second request is an HTTP GET or HTTP HEAD request; generating, by the server computer system, a loopback identifier associated with the first request; storing, by the server computer system, the loopback identifier in a user session associated with the first request; generating, by the server computer system, a script that includes the URL, the first window identifier, and the loopback identifier; sending, by the server computer system, the script to the second window of the web browser, the script configured to be uncacheable by the client computer system; enabling the web browser running on the client computer system to execute the script to facilitate determination of whether the second window is a new window or an existing window, the determination comprising a comparison between the first window identifier included in the script and an actual window identifier of the second window; and enabling transmission of a third request, from the second window, to the server computer system that includes; the URL, the first window identifier corresponding to the first window, and the loopback identifier when the first window identifier included in the script and the actual window identifier of the second window match;
orthe URL, the actual window identifier of the second window, and the loopback identifier when the first window identifier included in the script and the actual window identifier of the second window do not match. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium having stored thereon instructions executable by a processor, the instructions comprising:
-
instructions that cause the processor to receive a first request originating from a first window of a web browser running on a client computer system, the first request including a Uniform Resource Locator (URL) and a first window identifier corresponding to the first window; instructions that cause the processor to receive a second request originating from a second window of the web browser running on the client computer system, the second request including the URL and the first window identifier corresponding to the first window; instructions that cause the processor to determine whether the second request is an HTTP GET or HTTP HEAD request; instructions that cause the processor to generate a loopback identifier associated with the first request; instructions that cause the processor to store the loopback identifier in a user session associated with the first request; instructions that cause the processor to generate a script that includes the URL, the first window identifier, and the loopback identifier; instructions that cause the processor to send the script to the second window; instructions that cause the processor to enable the web browser running on the client computer system to execute the script to facilitate determination of whether the second window is a new window or an existing window, the determination comprising a comparison between the first window identifier included in the script and an actual window identifier of the second window; and instructions that cause the processor to enable transmission of a third request, from the second window, to the server computer system that includes; the URL, the first window identifier corresponding to the first window, and the loopback identifier when the first window identifier included in the script and the actual window identifier of the second window match;
orthe URL, the actual window identifier of the second window, and the loopback identifier when the first window identifier included in the script and the actual window identifier of the second window do not match.
-
-
9. A server computer system comprising:
a processor configured to; receive a first request originating from a window of a web browser running on a client computer system, the first request including a Uniform Resource Locator (URL) and a first window identifier; receive a second request originating from a second window of the web browser running on the client computer system, the second request including the URL and the first window identifier corresponding to the first window; generate a loopback identifier associated with the first request; store the loopback identifier in a user session associated with the request; generate a script that includes the URL, the first window identifier, and the loopback identifier; send the script to the second window of the web browser; enable the web browser running on the client computer system to execute the script to facilitate determination of whether the second window is a new window or an existing window, the determination comprising a comparison between the first window identifier included in the script and an actual window identifier of the second window; and enable transmission of a third request, from the second window, to the server computer system that includes; the URL, the first window identifier corresponding to the first window, and the loopback identifier when the first window identifier included in the script and the actual window identifier of the second window match;
orthe URL, the actual window identifier of the second window, and the loopback identifier when the first window identifier included in the script and the actual window identifier of the second window do not match.
Specification