The accompanying drawings, which are incorporated in and constitute part of the specification, illustrate various embodiments of the invention. Together with the general description, the drawings serve to explain the principles of the invention. In the drawings:
The following description of the various exemplary embodiments is illustrative in nature and is not intended to limit the invention, its application, or uses.
Referring now to
To achieve the effect of a pop-up, the Javascript code requests the user's web browser to open the secondary window 12 or windows and load them with content from other URL's. The browser then uses the other URL's to request additional HTML documents to be displayed. In the case of some pop-ups, the Javascript code has a delayed response built in which causes it to wait a few seconds before requesting a new window. This delay may fool the browser pop-up blocking code which relies on the concept of immediate pop-ups or concurrently loaded pop-ups. Accordingly, even if a pop-up blocker is employed by the user, there is a possibility that an undesired pop-up may still be displayed.
In addition to pop-ups which are displayed on top of or over the active page, there are also secondary windows which are known as pop-behinds or pop-unders. Referring now to
Referring now to
The user, for example, may decide that the timeout option is inadequately short when visiting a website that utilizes a secondary window to enter codes that defeat “bots” or automated software programs that download or scrape data from websites. In order to prevent data scraping, a website may require the user to enter a CAPTCHA which is an acronym for Completely Automated Public Turing test to tell Computers and Humans Apart. This technique identifies the party trying to access the site as a human or a computer program, by generating questions that only a human can answer correctly. Such a secondary window or pop-up 42 is illustrated in
In order to control the length of time that the pop-ups 12, 42 or pop-behinds 22 are visible to the user, the present invention modifies the web browser code. Web browsers include code that knows which windows are opened, and web browsers are capable of tracking the open windows. Accordingly, the web browser code is modified to display the tracked windows for a predetermined time. If a plug-in is utilized to control the display time of the secondary windows in accordance with the present invention, the plug-in would have to have hooks to know which windows are open, and it would have know the identities of the secondary windows in order to manipulate them. In order to implement the invention in different web browsers, such as Internet Explorer, Safari, Mozilla or Firefox, each browser would require different API calls. In addition to performing the control of secondary windows on the client side with modified code or a plug-in, another approach to control secondary windows would be to use a server-side application that would rewrite the HTML code by adding in timeouts for the secondary windows or pop-ups.
In order to modify existing web browsers, it should not be difficult to modify the code. At the point where the web browser decides to open a new window, the web browser code is preferably modified to record the identity of a window and to set a timer, if the window request is from a secondary window in the webpage which is being downloaded. It should probably require no more than fifty lines of code to modify a browser to have this feature. The web browser code preferably records the secondary window identity into a table, and there is a separate timer thread which is monitored every 1/10th of a second to determine if any secondary window needs to be closed. The identity of the closed secondary window is then removed from the table. The thread can terminate or go to sleep, if the table is empty. This modification to the code could be by a third party or the owner/author of the web browser code. A third party could modify the code using a web browser plug-in, and owner/author of the code could directly modify the web browser code to incorporate the features of the present invention.
One of the advantages of the present invention is that an Internet advertiser cannot easily override the timeout feature. Since the present invention is preferably implemented in the web browser on the client side, there is little that an Internet advertiser can do to defeat the timeout. One of the tricks that Internet advertisers have used against the Firefox browser is a delayed secondary window opening. Firefox blocks secondary windows or pop-ups that open simultaneously with opening of the primary or active webpage. However, if the opening of the secondary window is delayed, the Javascript code within the page can request that Firefox display another window and URL after a predetermined time, thereby defeating the pop-up blocker. In the present invention, however, the window opening code is modified to make all secondary windows limited to a time limit that is measured from the beginning of the opening of the secondary window and not from the opening of the primary or active window.
Preferably the option to set the timeout for the secondary window would appear as a part of the browser options/properties dialog. Accordingly, in addition to clearing the cache or setting no cookies mode, the user can preferably set the secondary window timeouts as a user selectable function in a pull down menu or dialog box.
The use of the word “exemplary” in this disclosure is intended to mean that the embodiment or element so described serves as an example, instance, or illustration, and is not necessarily to be construed as preferred or advantageous over other embodiments or elements. The term “web browser”, as used herein, is intended to mean any software application or routine that submits data (e.g., in response to a user action or input) over the Internet and gets a response. The term “pop-up” means any secondary window displayed by a web browser or other software application, and the term “pop-up” includes any secondary window displayed on, over, under or behind an active window. The description of the invention provided herein is merely exemplary in nature, and thus, variations that do not depart from the gist of the invention are intended to be within the scope of the embodiments of the present invention. Such variations are not to be regarded as a departure from the spirit and scope of the present invention.