| Chapter 6 WindowThis chapter deals with the Window object and the client-side objects associated with it: Frame , Location , and History . Table 6.1 summarizes the objects in this chapter. Table 6.1 Window objects Object | DescriptionFrame
| A window that can display multiple, independently scrollable frames on a single screen, each with its own distinct URL. | History
| Contains an array of information on the URLs that the client has visited within a window. | Location
| Contains information on the current URL. | screen
| Contains properties describing the display screen and colors. | Window
| Represents a browser window or frame. This is the top-level object for each document , Location , and History object group. | |
---|
WindowRepresents a browser window or frame. This is the top-level object for each document , Location , and History object group.
Client-side object. | Implemented in | Navigator 2.0 Navigator 3.0: added closed , history , and opener properties; added blur , focus , and scroll methods; added onBlur , onError , and onFocus event handlers Navigator 4.0: added innerHeight , innerWidth , locationbar , menubar , outerHeight , outerWidth , pageXOffset , pageYOffset , personalbar , scrollbars , statusbar , and toolbar properties; added back , captureEvents , clearInterval , disableExternalCapture , enableExternalCapture , find , forward , handleEvent , home , moveBy , moveTo , releaseEvents , resizeBy , resizeTo , routeEvent , scrollBy , scrollTo , setInterval , and stop methods; deprecated scroll method. |
Created byThe JavaScript runtime engine creates a Window object for each BODY or FRAMESET tag. It also creates a Window object to represent each frame defined in a FRAME tag. In addition, you can create other windows by calling the Window.open method. For details on defining a window, see open . Event handlersIn Navigator 3.0, on some platforms, placing an onBlur or onFocus event handler in a FRAMESET tag has no effect. DescriptionThe Window object is the top-level object in the JavaScript client hierarchy. A Window object can represent either a top-level window or a frame inside a frameset. As a matter of convenience, you can think about a Frame object as a Window object that isn't a top-level window. However, there is not really a separate Frame class; these objects really are Window objects, with a very few minor differences:- For a top-level window, the
parent and top properties are references to the window itself. For a frame, the top refers to the topmost browser window, and parent refers to the parent window of the current window.
- For a top-level window, setting the
defaultStatus or status property sets the text appearing in the browser status line. For a frame, setting these properties only sets the status line text when the cursor is over the frame.
- The
close method is not useful for windows that are frames.
- To create an
onBlur or onFocus event handler for a frame, you must set the onblur or onfocus property and specify it in all lowercase (you cannot specify it in HTML).
- If a
FRAME tag contains SRC and NAME attributes, you can refer to that frame from a sibling frame by using parent.frameName or parent.frames[index] . For example, if the fourth frame in a set has NAME="homeFrame" , sibling frames can refer to that frame using parent.homeFrame or parent.frames[3] .
For all windows, the self and window properties of a Window object are synonyms for the current window, and you can optionally use them to refer to the current window. For example, you can close the current window by calling the close method of either window or self . You can use these properties to make your code more readable or to disambiguate the property reference self.status from a form called status . See the properties and methods listed below for more examples.Because the existence of the current window is assumed, you do not have to refer to the name of the window when you call its methods and assign its properties. For example, status="Jump to a new location" is a valid property assignment, and close() is a valid method call. However, when you open or close a window within an event handler, you must specify window.open() or window.close() instead of simply using open() or close() . Due to the scoping of static objects in JavaScript, a call to close() without specifying an object name is equivalent to document.close() .For the same reason, when you refer to the location object within an event handler, you must specify window.location instead of simply using location . A call to location without specifying an object name is equivalent to document.location , which is a synonym for document.URL .You can refer to a window's Frame objects in your code by using the frames array. In a window with a FRAMESET tag, the frames array contains an entry for each frame.A windows lacks event handlers until HTML that contains a BODY or FRAMESET tag is loaded into it. Property Summary
closed
| Specifies whether a window has been closed. | defaultStatus
| Reflects the default message displayed in the window's status bar. | document
| Contains information on the current document, and provides methods for displaying HTML output to the user. | frames
| An array reflecting all the frames in a window. | history
| Contains information on the URLs that the client has visited within a window. | innerHeight
| Specifies the vertical dimension, in pixels, of the window's content area. | innerWidth
| Specifies the horizontal dimension, in pixels, of the window's content area. | length
| The number of frames in the window. | location
| Contains information on the current URL. | locationbar
| Represents the browser window's location bar. | menubar
| Represents the browser window's menu bar. | name
| A unique name used to refer to this window. | opener
| Specifies the window name of the calling document when a window is opened using the open method | outerHeight
| Specifies the vertical dimension, in pixels, of the window's outside boundary. | outerWidth
| Specifies the horizontal dimension, in pixels, of the window's outside boundary. | pageXOffset
| Provides the current x-position, in pixels, of a window's viewed page. | pageYOffset
| Provides the current y-position, in pixels, of a window's viewed page. | parent
| A synonym for a window or frame whose frameset contains the current frame. | personalbar
| Represents the browser window's personal bar (also called the directories bar). | scrollbars
| Represents the browser window's scroll bars. | self
| A synonym for the current window. | status
| Specifies a priority or transient message in the window's status bar. | statusbar
| Represents the browser window's status bar. | toolbar
| Represents the browser window's tool bar. | top
| A synonym for the topmost browser window. | window
| A synonym for the current window. |
Method Summary
alert
| Displays an Alert dialog box with a message and an OK button. | back
| Undoes the last history step in any frame within the top-level window. | blur
| Removes focus from the specified object. | captureEvents
| Sets the window or document to capture all events of the specified type. | clearInterval
| Cancels a timeout that was set with the setInterval method. | clearTimeout
| Cancels a timeout that was set with the setTimeout method. | close
| Closes the specified window. | confirm
| Displays a Confirm dialog box with the specified message and OK and Cancel buttons. | disableExternalCapture
| Disables external event capturing set by the enableExternalCapture method. | enableExternalCapture
| Allows a window with frames to capture events in pages loaded from different locations (servers). | find
| Finds the specified text string in the contents of the specified window. | focus
| Gives focus to the specified object. | forward
| Loads the next URL in the history list. | handleEvent
| Invokes the handler for the specified event. | home
| Points the browser to the URL specified in preferences as the user's home page. | moveBy
| Moves the window by the specified amounts. | moveTo
| Moves the top-left corner of the window to the specified screen coordinates. | open
| Opens a new web browser window. | print
| Prints the contents of the window or frame. | prompt
| Displays a Prompt dialog box with a message and an input field. | releaseEvents
| Sets the window to release captured events of the specified type, sending the event to objects further along the event hierarchy. | resizeBy
| Resizes an entire window by moving the window's bottom-right corner by the specified amount. | resizeTo
| Resizes an entire window to the specified outer height and width. | routeEvent
| Passes a captured event along the normal event hierarchy. | scroll
| Scrolls a window to a specified coordinate. | scrollBy
| Scrolls the viewing area of a window by the specified amount. | scrollTo
| Scrolls the viewing area of the window to the specified coordinates, such that the specified point becomes the top-left corner. | setInterval
| Evaluates an expression or calls a function every time a specified number of milliseconds elapses. | setTimeout
| Evaluates an expression or calls a function once after a specified number of milliseconds has elapsed. | stop
| Stops the current download. |
ExamplesExample 1. Windows opening other windows. In the following example, the document in the top window opens a second window, window2 , and defines push buttons that open a message window, write to the message window, close the message window, and close window2 . The onLoad and onUnload event handlers of the document loaded into window2 display alerts when the window opens and closes.win1.html , which defines the frames for the first window, contains the following code:<HTML> <HEAD> <TITLE>Window object example: Window 1</TITLE> </HEAD> <BODY BGCOLOR="antiquewhite"> <SCRIPT> window2=open("win2.html","secondWindow", "scrollbars=yes,width=250, height=400") document.writeln("<B>The first window has no name: " + window.name + "</B>") document.writeln("<BR><B>The second window is named: " + window2.name + "</B>") </SCRIPT> <FORM NAME="form1"> <P><INPUT TYPE="button" VALUE="Open a message window" onClick = "window3=window.open('','messageWindow', 'scrollbars=yes,width=175, height=300')"> <P><INPUT TYPE="button" VALUE="Write to the message window" onClick="window3.document.writeln('Hey there'); window3.document.close()"> <P><INPUT TYPE="button" VALUE="Close the message window" onClick="window3.close()"> <P><INPUT TYPE="button" VALUE="Close window2" onClick="window2.close()"> </FORM> </BODY> </HTML> win2.html , which defines the content for window2 , contains the following code:<HTML> <HEAD> <TITLE>Window object example: Window 2</TITLE> </HEAD> <BODY BGCOLOR="oldlace" onLoad="alert('Message from ' + window.name + ': Hello, World.')" onUnload="alert('Message from ' + window.name + ': I'm closing')"> <B>Some numbers</B> <UL><LI>one <LI>two <LI>three <LI>four</UL> </BODY> </HTML> Example 2. Creating frames. The following example creates two windows, each with four frames. In the first window, the first frame contains push buttons that change the background colors of the frames in both windows. framset1.html , which defines the frames for the first window, contains the following code:<HTML> <HEAD> <TITLE>Frames and Framesets: Window 1</TITLE> </HEAD> <FRAMESET ROWS="50%,50%" COLS="40%,60%" onLoad="alert('Hello, World.')"> <FRAME SRC=framcon1.html NAME="frame1"> <FRAME SRC=framcon2.html NAME="frame2"> <FRAME SRC=framcon2.html NAME="frame3"> <FRAME SRC=framcon2.html NAME="frame4"> </FRAMESET> </HTML> framset2.html , which defines the frames for the second window, contains the following code:<HTML> <HEAD> <TITLE>Frames and Framesets: Window 2</TITLE> </HEAD> <FRAMESET ROWS="50%,50%" COLS="40%,60%"> <FRAME SRC=framcon2.html NAME="frame1"> <FRAME SRC=framcon2.html NAME="frame2"> <FRAME SRC=framcon2.html NAME="frame3"> <FRAME SRC=framcon2.html NAME="frame4"> </FRAMESET> </HTML> framcon1.html , which defines the content for the first frame in the first window, contains the following code:<HTML> <BODY> <A NAME="frame1"><H1>Frame1</H1></A> <P><A HREF="framcon3.htm" target=frame2>Click here</A> to load a different file into frame 2. <SCRIPT> window2=open("framset2.htm","secondFrameset") </SCRIPT> <FORM> <P><INPUT TYPE="button" VALUE="Change frame2 to teal" onClick="parent.frame2.document.bgColor='teal'"> <P><INPUT TYPE="button" VALUE="Change frame3 to slateblue" onClick="parent.frames[2].document.bgColor='slateblue'"> <P><INPUT TYPE="button" VALUE="Change frame4 to darkturquoise" onClick="top.frames[3].document.bgColor='darkturquoise'"> <P><INPUT TYPE="button" VALUE="window2.frame2 to violet" onClick="window2.frame2.document.bgColor='violet'"> <P><INPUT TYPE="button" VALUE="window2.frame3 to fuchsia" onClick="window2.frames[2].document.bgColor='fuchsia'"> <P><INPUT TYPE="button" VALUE="window2.frame4 to deeppink" onClick="window2.frames[3].document.bgColor='deeppink'"> </FORM> </BODY> </HTML> framcon2.html , which defines the content for the remaining frames, contains the following code:<HTML> <BODY> <P>This is a frame. </BODY> </HTML> framcon3.html , which is referenced in a Link object in framcon1.html , contains the following code:<HTML> <BODY> <P>This is a frame. What do you think? </BODY> </HTML> See alsodocument , Frame PropertiesclosedSpecifies whether a window is closed.
Property of | Window | Read-only | | Implemented in | Navigator 3.0 |
DescriptionThe closed property is a boolean value that specifies whether a window has been closed. When a window closes, the window object that represents it continues to exist, and its closed property is set to true.Use closed to determine whether a window that you opened, and to which you still hold a reference (from the return value of window.open ), is still open. Once a window is closed, you should not attempt to manipulate it. ExamplesExample 1. The following code opens a window, win1 , then later checks to see if that window has been closed. A function is called depending on whether win1 is closed.win1=window.open('opener1.html','window1','width=300,height=300') ... if (win1.closed) function1() else function2() Example 2. The following code determines if the current window's opener window is still closed, and calls the appropriate function.if (window.opener.closed) function1() else function2() See alsoWindow.close , Window.open defaultStatusThe default message displayed in the status bar at the bottom of the window.
Property of | Window | Implemented in | Navigator 2.0 |
SecurityNavigator 3.0: This property is tainted by default. For information on data tainting, see "JavaScript Security". DescriptionThe defaultStatus message appears when nothing else is in the status bar. Do not confuse the defaultStatus property with the status property. The status property reflects a priority or transient message in the status bar, such as the message that appears when a mouseOver event occurs over an anchor.You can set the defaultStatus property at any time. You must return true if you want to set the defaultStatus property in the onMouseOut or onMouseOver event handlers. ExamplesIn the following example, the statusSetter function sets both the status and defaultStatus properties in an onMouseOver event handler:function statusSetter() { window.defaultStatus = "Click the link for the Netscape home page" window.status = "Netscape home page" } <A HREF="http://home.netscape.com" onMouseOver = "statusSetter(); return true">Netscape</A> In the previous example, notice that the onMouseOver event handler returns a value of true. You must return true to set status or defaultStatus in an event handler. See alsoWindow.status documentContains information on the current document, and provides methods for displaying HTML output to the user.
Property of | Window | Implemented in | Navigator 2.0 |
DescriptionThe value of this property is the window's associated document object.framesAn array of objects corresponding to child frames (created with the FRAME tag) in source order.
Property of | Window | Read-only | | Implemented in | Navigator 2.0 | You can refer to the child frames of a window by using the frames array. This array contains an entry for each child frame (created with the FRAME tag) in a window containing a FRAMESET tag; the entries are in source order. For example, if a window contains three child frames whose NAME attributes are fr1 , fr2 , and fr3 , you can refer to the objects in the images array either as:parent.frames["fr1"] parent.frames["fr2"] parent.frames["fr3"] or as:parent.frames[0] parent.frames[1] parent.frames[2] You can find out how many child frames the window has by using the length property of the Window itself or of the frames array.The value of each element in the frames array is <object nameAttribute> , where nameAttribute is the NAME attribute of the frame.historyContains information on the URLs that the client has visited within a window.
Property of | Window | Implemented in | Navigator 3.0 |
DescriptionThe value of this property is the window's associated History object.innerHeightSpecifies the vertical dimension, in pixels, of the window's content area.
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionTo create a window smaller than 100 x 100 pixels, set this property in a signed script. Security To set the inner height of a window to a size smaller than 100 x 100 or larger than the screen can accommodate, you need the UniversalBrowserWrite privilege. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. See alsoWindow.innerWidth , Window.outerHeight , Window.outerWidth innerWidthSpecifies the horizontal dimension, in pixels, of the window's content area.
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionTo create a window smaller than 100 x 100 pixels, set this property in a signed script. Security To set the inner width of a window to a size smaller than 100 x 100 or larger than the screen can accommodate, you need the UniversalBrowserWrite privilege. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. See alsoWindow.innerHeight , Window.outerHeight , Window.outerWidth lengthThe number of child frames in the window.
Property of | Window | Read-only | | Implemented in | Navigator 2.0 |
DescriptionThis property gives you the same result as using the length property of the frames array.locationContains information on the current URL.
Property of | Window | Implemented in | Navigator 2.0 |
DescriptionThe value of this property is the window's associated Location object.locationbarRepresents the browser window's location bar (the region containing the bookmark and URL areas).
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionThe value of the locationbar property itself has one property, visible . If true, the location bar is visible; if false, it is hidden. SecuritySetting the value of the location bar's visible property requires the UniversalBrowserWrite privilege. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. ExamplesThe following example would make the referenced window "chromeless" (chromeless windows lack toolbars, scrollbars, status areas, and so on, much like a dialog box) by hiding most of the user interface toolbars: self.menubar.visible=false; self.toolbar.visible=false; self.locationbar.visible=false; self.personalbar.visible=false; self.scrollbars.visible=false; self.statusbar.visible=false; menubarRepresents the browser window's menu bar. This region contains browser's drop-down menus such as File, Edit, View, Go, Communicator, and so on.
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionThe value of the menubar property itself one property, visible . If true, the menu bar is visible; if false, it is hidden. SecuritySetting the value of the menu bar's visible property requires the UniversalBrowserWrite privilege. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. ExamplesThe following example would make the referenced window "chromeless" (chromeless windows lack toolbars, scrollbars, status areas, and so on, much like a dialog box) by hiding most of the user interface toolbars: self.menubar.visible=false; self.toolbar.visible=false; self.locationbar.visible=false; self.personalbar.visible=false; self.scrollbars.visible=false; self.statusbar.visible=false; nameA string specifying the window's name.
Property of | Window | Read-only (2.0); Modifiable (later versions) | Implemented in | Navigator 2.0 |
SecurityNavigator 3.0: This property is tainted by default. For information on data tainting, see "JavaScript Security". DescriptionIn Navigator 2.0, NAME was a read-only property. In later versions, this property is modifiable by your code. This allows you to assign a name to a top-level window. ExamplesIn the following example, the first statement creates a window called netscapeWin . The second statement displays the value "netscapeHomePage" in the Alert dialog box, because "netscapeHomePage" is the value of the windowName argument of netscapeWin .netscapeWin=window.open("http://home.netscape.com","netscapeHomePage") alert(netscapeWin.name) openerSpecifies the window of the calling document when a window is opened using the open method.
Property of | Window | Implemented in | Navigator 3.0 |
DescriptionWhen a source document opens a destination window by calling the open method, the opener property specifies the window of the source document. Evaluate the opener property from the destination window.This property persists across document unload in the opened window.You can change the opener property at any time.You may use Window.open to open a new window and then use Window.open on that window to open another window, and so on. In this way, you can end up with a chain of opened windows, each of which has an opener property pointing to the window that opened it.Communicator allows a maximum of 100 windows to be around at once. If you open window2 from window1 and then are done with window1 , be sure to set the opener property of window2 to null . This allows JavaScript to garbage collect window1 . If you do not set the opener property to null , the window1 object remains, even though it's no longer really needed. ExamplesExample 1: Close the opener. The following code closes the window that opened the current window. When the opener window closes, opener is unchanged. However, window.opener.name then evaluates to undefined.window.opener.close() Example 2: Close the main browser window. top.opener.close() Example 3: Evaluate the name of the opener. A window can determine the name of its opener as follows:document.write("<BR>opener property is " + window.opener.name) Example 4: Change the value of opener. The following code changes the value of the opener property to null. After this code executes, you cannot close the opener window as shown in Example 1.window.opener=null Example 5: Change a property of the opener. The following code changes the background color of the window specified by the opener property.window.opener.document.bgColor='bisque' See alsoWindow.close , Window.open outerHeightSpecifies the vertical dimension, in pixels, of the window's outside boundary.
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionThe outer boundary includes the scroll bars, the status bar, the tool bars, and other "chrome" (window border user interface elements). To create a window smaller than 100 x 100 pixels, set this property in a signed script. See alsoWindow.innerWidth , Window.innerHeight , Window.outerWidth outerWidthSpecifies the horizontal dimension, in pixels, of the window's outside boundary.
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionThe outer boundary includes the scroll bars, the status bar, the tool bars, and other "chrome" (window border user interface elements). To create a window smaller than 100 x 100 pixels, set this property in a signed script. See alsoWindow.innerWidth , Window.innerHeight , Window.outerHeight pageXOffsetProvides the current x-position, in pixels, of a window's viewed page.
Property of | Window | Read-only | | Implemented in | Navigator 4.0 |
DescriptionThe pageXOffset property provides the current x-position of a page as it relates to the upper-left corner of the window's content area. This property is useful when you need to find the current location of the scrolled page before using scrollTo or scrollBy . ExampleThe following example returns the x-position of the viewed page. x = myWindow.pageXOffset See AlsoWindow.pageYOffset pageYOffsetProvides the current y-position, in pixels, of a window's viewed page.
Property of | Window | Read-only | | Implemented in | Navigator 4.0 |
DescriptionThe pageYOffset property provides the current y-position of a page as it relates to the upper-left corner of the window's content area. This property is useful when you need to find the current location of the scrolled page before using scrollTo or scrollBy . ExampleThe following example returns the y-position of the viewed page. x = myWindow.pageYOffset See alsoWindow.pageXOffset parentThe parent property is the window or frame whose frameset contains the current frame.
Property of | Window | Read-only | | Implemented in | Navigator 2.0 |
DescriptionThis property is only meaningful for frames; that is, windows that are not top-level windows.The parent property refers to the FRAMESET window of a frame. Child frames within a frameset refer to sibling frames by using parent in place of the window name in one of the following ways: parent.frameName parent.frames[index] For example, if the fourth frame in a set has NAME="homeFrame" , sibling frames can refer to that frame using parent.homeFrame or parent.frames[3] .You can use parent.parent to refer to the "grandparent" frame or window when a FRAMESET tag is nested within a child frame.The value of the parent property is <object nameAttribute> where nameAttribute is the NAME attribute if the parent is a frame, or an internal reference if the parent is a window. ExamplesSee examples for Frame .personalbarRepresents the browser window's personal bar (also called the directories bar). This is the region the user can use for easy access to certain bookmarks.
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionThe value of the personalbar property itself one property, visible . If true, the personal bar is visible; if false, it is hidden. SecuritySetting the value of the personal bar's visible property requires the UniversalBrowserWrite privilege. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. ExamplesThe following example would make the referenced window "chromeless" (chromeless windows lack toolbars, scrollbars, status areas, and so on, much like a dialog box) by hiding most of the user interface toolbars: self.menubar.visible=false; self.toolbar.visible=false; self.locationbar.visible=false; self.personalbar.visible=false; self.scrollbars.visible=false; self.statusbar.visible=false; scrollbarsRepresents the browser window's vertical and horizontal scroll bars for the document area.
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionThe value of the scrollbars property itself has one property, visible . If true, both scrollbars are visible; if false, they are hidden. SecuritySetting the value of the scrollbars' visible property requires the UniversalBrowserWrite privilege. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. ExamplesThe following example would make the referenced window "chromeless" (chromeless windows lack toolbars, scrollbars, status areas, and so on, much like a dialog box) by hiding most of the user interface toolbars: self.menubar.visible=false; self.toolbar.visible=false; self.locationbar.visible=false; self.personalbar.visible=false; self.scrollbars.visible=false; self.statusbar.visible=false; selfThe self property is a synonym for the current window.
Property of | Window | Read-only | | Implemented in | Navigator 2.0 |
DescriptionThe self property refers to the current window. That is, the value of this property is a synonym for the object itself.Use the self property to disambiguate a window property from a form or form element of the same name. You can also use the self property to make your code more readable.The value of the self property is <object nameAttribute> where nameAttribute is the NAME attribute if self refers to a frame, or an internal reference if self refers to a window. ExamplesIn the following example, self.status is used to set the status property of the current window. This usage disambiguates the status property of the current window from a form or form element called status within the current window.<A HREF="" onClick="this.href=pickRandomURL()" onMouseOver="self.status='Pick a random URL' ; return true"> Go!</A> statusSpecifies a priority or transient message in the status bar at the bottom of the window, such as the message that appears when a mouseOver event occurs over an anchor.
Property of | Window | Implemented in | Navigator 2.0 |
SecurityNavigator 3.0: This property is tainted by default. For information on data tainting, see "JavaScript Security". DescriptionDo not confuse the status property with the defaultStatus property. The defaultStatus property reflects the default message displayed in the status bar.You can set the status property at any time. You must return true if you want to set the status property in the onMouseOver event handler. ExamplesSuppose you have created a JavaScript function called pickRandomURL that lets you select a URL at random. You can use the onClick event handler of an anchor to specify a value for the HREF attribute of the anchor dynamically, and the onMouseOver event handler to specify a custom message for the window in the status property:<A HREF="" onClick="this.href=pickRandomURL()" onMouseOver="self.status='Pick a random URL' return true"> Go!</A> In the preceding example, the status property of the window is assigned to the window's self property, as self.status . See alsoWindow.defaultStatus statusbarRepresents the browser window's status bar. This is the region containing the security indicator, browser status, and so on.
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionThe value of the statusbar property itself one property, visible . If true, the status bar is visible; if false, it is hidden. SecuritySetting the value of the status bar's visible property requires the UniversalBrowserWrite privilege. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. ExamplesThe following example would make the referenced window "chromeless" (chromeless windows lack toolbars, scrollbars, status areas, and so on, much like a dialog box) by hiding most of the user interface toolbars: self.menubar.visible=false; self.toolbar.visible=false; self.locationbar.visible=false; self.personalbar.visible=false; self.scrollbars.visible=false; self.statusbar.visible=false; toolbarRepresents the browser window's tool bar, containing the navigation buttons, such as Back, Forward, Reload, Home, and so on.
Property of | Window | Implemented in | Navigator 4.0 |
DescriptionThe value of the toolbar property itself one property, visible . If true, the tool bar is visible; if false, it is hidden. SecuritySetting the value of the tool bar's visible property requires the UniversalBrowserWrite privilege. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. ExamplesThe following example would make the referenced window "chromeless" (chromeless windows lack toolbars, scrollbars, status areas, and so on, much like a dialog box) by hiding most of the user interface toolbars: self.menubar.visible=false; self.toolbar.visible=false; self.locationbar.visible=false; self.personalbar.visible=false; self.scrollbars.visible=false; self.statusbar.visible=false; topThe top property is a synonym for the topmost browser window, which is a document window or web browser window.
Property of | Window | Read-only | | Implemented in | Navigator 2.0 |
DescriptionThe top property refers to the topmost window that contains frames or nested framesets. Use the top property to refer to this ancestor window. The value of the top property is<object objectReference> where objectReference is an internal reference. ExamplesThe statement top.close() closes the topmost ancestor window.The statement top.length specifies the number of frames contained within the topmost ancestor window. When the topmost ancestor is defined as follows, top.length returns three:<FRAMESET COLS="30%,40%,30%"> <FRAME SRC=child1.htm NAME="childFrame1"> <FRAME SRC=child2.htm NAME="childFrame2"> <FRAME SRC=child3.htm NAME="childFrame3"> </FRAMESET> The following example sets the background color of a frame called myFrame to red. myFrame is a child of the topmost ancestor window.top.myFrame.document.bgColor="red" windowThe window property is a synonym for the current window or frame.
Property of | Window | Read-only | | Implemented in | Navigator 2.0 |
DescriptionThe window property refers to the current window or frame. That is, the value of this property is a synonym for the object itself.Although you can use the window property as a synonym for the current frame, your code may be more readable if you use the self property. For example, window.name and self.name both specify the name of the current frame, but self.name may be easier to understand (because a frame is not displayed as a separate window).Use the window property to disambiguate a property of the window object from a form or form element of the same name. You can also use the window property to make your code more readable.The value of the window property is<object nameAttribute> where nameAttribute is the NAME attribute if window refers to a frame, or an internal reference if window refers to a window. ExamplesIn the following example, window.status is used to set the status property of the current window. This usage disambiguates the status property of the current window from a form called "status" within the current window.<A HREF="" onClick="this.href=pickRandomURL()" onMouseOver="window.status='Pick a random URL' ; return true"> Go!</A> See alsoWindow.self MethodsalertDisplays an Alert dialog box with a message and an OK button.
Method of | Window | Implemented in | Navigator 2.0 |
Syntaxalert("message") Parameters
DescriptionAn alert dialog box looks as follows:Use the alert method to display a message that does not require a user decision. The message argument specifies a message that the dialog box contains.You cannot specify a title for an alert dialog box, but you can use the open method to create your own alert dialog box. See open . ExamplesIn the following example, the testValue function checks the name entered by a user in the Text object of a form to make sure that it is no more than eight characters in length. This example uses the alert method to prompt the user to enter a valid value.function testValue(textElement) { if (textElement.length > 8) { alert("Please enter a name that is 8 characters or less") } } You can call the testValue function in the onBlur event handler of a form's Text object, as shown in the following example:Name: <INPUT TYPE="text" NAME="userName" onBlur="testValue(userName.value)"> See alsoWindow.confirm , Window.prompt backUndoes the last history step in any frame within the top-level window; equivalent to the user pressing the browser's Back button.
Method of | Window | Implemented in | Navigator 4.0 |
Syntaxback() ParametersNone DescriptionCalling the back method is equivalent to the user pressing the browser's Back button. That is, back undoes the last step anywhere within the top-level window, whether it occurred in the same frame or in another frame in the tree of frames loaded from the top-level window. In contrast, the history object's back method backs up the current window or frame history one step.For example, consider the following scenario. While in Frame A, you click the Forward button to change Frame A's content. You then move to Frame B and click the Forward button to change Frame B's content. If you move back to Frame A and call FrameA.back() , the content of Frame B changes (clicking the Back button behaves the same).If you want to navigate Frame A separately, use FrameA.history.back() . ExamplesThe following custom buttons perform the same operation as the browser's Back button:<P><INPUT TYPE="button" VALUE="< Go Back" onClick="history.back()"> <P><INPUT TYPE="button" VALUE="> Go Back" onClick="myWindow.back()"> See alsoWindow.forward , History.back blurRemoves focus from the specified object.
Method of | Window | Implemented in | Navigator 2.0 |
Syntaxblur() ParametersNone DescriptionUse the blur method to remove focus from a specific window or frame. Removing focus from a window sends the window to the background in most windowing systems. See alsoWindow.focus captureEventsSets the window to capture all events of the specified type.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxcaptureEvents(eventType) Parameters
eventType | The type of event to be captured. The available event types are listed with the event object. |
SecurityWhen a window with frames wants to capture events in pages loaded from different locations (servers), you need to use captureEvents in a signed script and precede it with enableExternalCapture . You must have the UniversalBrowserWrite privilege. For more information and an example, see enableExternalCapture . For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. See alsocaptureEvents works in tandem with releaseEvents , routeEvent , and handleEvent . For more information, see "Events in Navigator 4.0". clearIntervalCancels a timeout that was set with the setInterval method.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxclearInterval(intervalID) Parameters
intervalID | Timeout setting that was returned by a previous call to the setInterval method. |
DescriptionSee setInterval . ExamplesSee setInterval . See alsoWindow.setInterval clearTimeoutCancels a timeout that was set with the setTimeout method.
Method of | Window | Implemented in | Navigator 2.0 |
SyntaxclearTimeout(timeoutID) Parameters
timeoutID | A timeout setting that was returned by a previous call to the setTimeout method. |
DescriptionSee setTimeout . ExamplesSee setTimeout . See alsoWindow.clearInterval , Window.setTimeout closeCloses the specified window.
Method of | Window | Implemented in | Navigator 2.0: closes any window. Navigator 3.0: closes only windows opened by JavaScript. Navigator 4.0: must use signed scripts to unconditionally close a window. |
Syntaxclose() ParametersNone Security Navigator 4.0: To unconditionally close a window, you need the UniversalBrowserWrite privilege. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. DescriptionThe close method closes the specified window. If you call close without specifying a windowReference , JavaScript closes the current window.The close method closes only windows opened by JavaScript using the open method. If you attempt to close any other window, a confirm is generated, which lets the user choose whether the window closes. This is a security feature to prevent "mail bombs" containing self.close() . However, if the window has only one document (the current one) in its session history, the close is allowed without any confirm. This is a special case for one-off windows that need to open other windows and then dispose of themselves.In event handlers, you must specify window.close() instead of simply using close() . Due to the scoping of static objects in JavaScript, a call to close() without specifying an object name is equivalent to document.close() . ExamplesExample 1. Any of the following examples closes the current window:window.close() self.close() close() Example 2: Close the main browser window. The following code closes the main browser window.top.opener.close() Example 3. The following example closes the messageWin window:messageWin.close() This example assumes that the window was opened in a manner similar to the following:messageWin=window.open("") See alsoWindow.closed , Window.open confirmDisplays a Confirm dialog box with the specified message and OK and Cancel buttons.
Method of | Window | Implemented in | Navigator 2.0 |
Syntaxconfirm("message") Parameters
DescriptionA confirm dialog box looks as follows:Use the confirm method to ask the user to make a decision that requires either an OK or a Cancel. The message argument specifies a message that prompts the user for the decision. The confirm method returns true if the user chooses OK and false if the user chooses Cancel.You cannot specify a title for a confirm dialog box, but you can use the open method to create your own confirm dialog. See open . ExamplesThis example uses the confirm method in the confirmCleanUp function to confirm that the user of an application really wants to quit. If the user chooses OK, the custom cleanUp function closes the application.function confirmCleanUp() { if (confirm("Are you sure you want to quit this application?")) { cleanUp() } } You can call the confirmCleanUp function in the onClick event handler of a form's push button, as shown in the following example:<INPUT TYPE="button" VALUE="Quit" onClick="confirmCleanUp()"> See alsoWindow.alert , Window.prompt disableExternalCaptureDisables external event capturing set by the enableExternalCapture method.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxdisableExternalCapture() ParametersNone DescriptionSee enableExternalCapture . enableExternalCaptureAllows a window with frames to capture events in pages loaded from different locations (servers).
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxenableExternalCapture() ParametersNone DescriptionUse this method in a signed script requesting UniversalBrowserWrite privileges, and use it before calling the captureEvents method. If Communicator sees additional scripts that cause the set of principals in effect for the container to be downgraded, it disables external capture of events. Additional calls to enableExternalCapture (after acquiring the UniversalBrowserWrite privilege under the reduced set of principals) can be made to enable external capture again. ExampleIn the following example, the window is able to capture all Click events that occur across its frames. <SCRIPT ARCHIVE="myArchive.jar" ID="2"> function captureClicks() { netscape.security.PrivilegeManager.enablePrivilege( "UniversalBrowserWrite"); enableExternalCapture(); captureEvents(Event.CLICK); ... } </SCRIPT> See alsoWindow.disableExternalCapture , Window.captureEvents findFinds the specified text string in the contents of the specified window.
Method of | Window | Implemented in | Navigator 4.0 |
Syntaxfind(string, casesensitive, backward) Parameters
string | (Optional) The text string for which to search. | casesensitive | (Optional) Boolean value. If true, specifies a case-sensitive search. If you supply this parameter, you must also supply backward . | backward | (Optional) Boolean. If true, specifies a backward search. If you supply this parameter, you must also supply casesensitive . |
Returnstrue if the string is found; otherwise, false. DescriptionWhen a string is specified, the browser performs a case-insensitive, forward search. If a string is not specified, the method displays the Find dialog box, allowing the user to enter a search string. focusGives focus to the specified object.
Method of | Window | Implemented in | Navigator 3.0 |
Syntaxfocus() ParametersNone DescriptionUse the focus method to navigate to a specific window or frame, and give it focus. Giving focus to a window brings the window forward in most windowing systems.In Navigator 3.0, on some platforms, the focus method gives focus to a frame but the focus is not visually apparent (for example, the frame's border is not darkened). ExamplesIn the following example, the checkPassword function confirms that a user has entered a valid password. If the password is not valid, the focus method returns focus to the Password object and the select method highlights it so the user can reenter the password.function checkPassword(userPass) { if (badPassword) { alert("Please enter your password again.") userPass.focus() userPass.select() } } This example assumes that the Password object is defined as<INPUT TYPE="password" NAME="userPass"> See alsoWindow.blur forwardPoints the browser to the next URL in the current history list; equivalent to the user pressing the browser's Forward button
Method of | Window | Implemented in | Navigator 4.0 |
Syntaxhistory.forward() forward() ParametersNone DescriptionThis method performs the same action as a user choosing the Forward button in the browser. The forward method is the same as history.go(1) .When used with the Frame object, forward behaves as follows: While in Frame A, you click the Back button to change Frame A's content. You then move to Frame B and click the Back button to change Frame B's content. If you move back to Frame A and call FrameA.forward() , the content of Frame B changes (clicking the Forward button behaves the same). If you want to navigate Frame A separately, use FrameA.history.forward() . ExamplesThe following custom buttons perform the same operation as the browser's Forward button:<P><INPUT TYPE="button" VALUE="< Go Forth" onClick="history.forward()"> <P><INPUT TYPE="button" VALUE="> Go Forth" onClick="myWindow.forward()"> See alsoWindow.back handleEventInvokes the handler for the specified event.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxhandleEvent(event) Parameters
event | The name of an event for which the specified object has an event handler. |
DescriptionhandleEvent works in tandem with captureEvents , releaseEvents , and routeEvent . For more information, see "Events in Navigator 4.0". homePoints the browser to the URL specified in preferences as the user's home page; equivalent to the user pressing the browser's Home button.
Method of | Window | Implemented in | Navigator 4.0 |
Syntaxhome() ParametersNone DescriptionThis method performs the same action as a user choosing the Home button in the browser.moveByMoves the window relative to its current position, moving the specified number of pixels.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxmoveBy(horizontal, vertical) Parameters
horizontal | The number of pixels by which to move the window horizontally. | vertical | The number of pixels by which to move the window vertically. |
DescriptionThis method moves the window by adding or subtracting the specified number of pixels to the current location. SecurityExceeding any of the boundaries of the screen (to hide some or all of a window) requires signed JavaScript, so a window won't move past the screen boundaries. You need the UniversalBrowserWrite privilege for this. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. Examples:To move the current window 5 pixels up towards the top of the screen (x-axis), and 10 pixels towards the right (y-axis) of the current window position, use this statement:self.moveBy(-5,10); // relative positioning See alsoWindow.moveTo moveToMoves the top-left corner of the window to the specified screen coordinates.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxmoveTo(x-coordinate, y-coordinate) Parameters
x-coordinate | The left edge of the window in screen coordinates. | y-coordinate | The top edge of the window in screen coordinates. |
DescriptionThis method moves the window to the absolute pixel location indicated by its parameters. The origin of the axes is at absolute position (0,0); this is the upper left-hand corner of the display. SecurityExceeding any of the boundaries of the screen (to hide some or all of a window) requires signed JavaScript, so a window won't move past the screen boundaries. You need the UniversalBrowserWrite privilege for this. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. Examples:To move the current window to 25 pixels from the top boundary of the screen (x-axis), and 10 pixels from the left boundary of the screen (y-axis), use this statement:self.moveTo(25,10); // absolute positioning See alsoWindow.moveBy openOpens a new web browser window.
Method of | Window | Implemented in | Navigator 2.0 Navigator 4.0: added several new windowFeatures |
Syntaxopen(URL, windowName, windowFeatures) Parameters
URL | A string specifying the URL to open in the new window. See the Location object for a description of the URL components. | windowName | A string specifying the window name to use in the TARGET attribute of a FORM or A tag. windowName can contain only alphanumeric or underscore (_) characters. | windowFeatures | (Optional) A string containing a comma-separated list determining whether or not to create various standard window features. These options are described below. |
DescriptionIn event handlers, you must specify window.open() instead of simply using open() . Due to the scoping of static objects in JavaScript, a call to open() without specifying an object name is equivalent to document.open() .The open method opens a new Web browser window on the client, similar to choosing New Navigator Window from the File menu of the browser. The URL argument specifies the URL contained by the new window. If URL is an empty string, a new, empty window is created.You can use open on an existing window, and if you pass the empty string for the URL, you will get a reference to the existing window, but not load anything into it. You can, for example, then look for properties in the window.windowFeatures is an optional string containing a comma-separated list of options for the new window (do not include any spaces in this list). After a window is open, you cannot use JavaScript to change the windowFeatures. The features you can specify are:
alwaysLowered | (Navigator 4.0) If yes, creates a new window that floats below other windows, whether it is active or not. This is a secure feature and must be set in signed scripts. | alwaysRaised | (Navigator 4.0) If yes, creates a new window that floats on top of other windows, whether it is active or not. This is a secure feature and must be set in signed scripts. | dependent | (Navigator 4.0) If yes, creates a new window as a child of the current window. A dependent window closes when its parent window closes. On Windows platforms, a dependent window does not show on the task bar. | directories | If yes, creates the standard browser directory buttons, such as What's New and What's Cool. | height | (Navigator 2.0 and 3.0) Specifies the height of the window in pixels. | hotkeys | (Navigator 4.0) If no (or 0), disables most hotkeys in a new window that has no menu bar. The security and quit hotkeys remain enabled. | innerHeight | (Navigator 4.0) Specifies the height, in pixels, of the window's content area. To create a window smaller than 100 x 100 pixels, set this feature in a signed script. This feature replaces height , which remains for backwards compatibility. | innerWidth | (Navigator 4.0) Specifies the width, in pixels, of the window's content area. To create a window smaller than 100 x 100 pixels, set this feature in a signed script. This feature replaces width , which remains for backwards compatibility. | location | If yes, creates a Location entry field. | menubar | If yes, creates the menu at the top of the window. | outerHeight | (Navigator 4.0) Specifies the vertical dimension, in pixels, of the outside boundary of the window. To create a window smaller than 100 x 100 pixels, set this feature in a signed script. | resizable | If yes, allows a user to resize the window. | screenX | (Navigator 4.0) Specifies the distance the new window is placed from the left side of the screen. To place a window offscreen, set this feature in a signed scripts. | screenY | (Navigator 4.0) Specifies the distance the new window is placed from the top of the screen. To place a window offscreen, set this feature in a signed scripts. | scrollbars | If yes, creates horizontal and vertical scrollbars when the Document grows larger than the window dimensions. | status | If yes, creates the status bar at the bottom of the window. | titlebar | (Navigator 4.0) If yes, creates a window with a title bar. To set the titlebar to no, set this feature in a signed script. | toolbar | If yes, creates the standard browser toolbar, with buttons such as Back and Forward. | width | (Navigator 2.0 and 3.0) Specifies the width of the window in pixels. | z-lock | (Navigator 4.0) If yes, creates a new window that does not rise above other windows when activated. This is a secure feature and must be set in signed scripts. | Many of these features (as noted above) can either be yes or no. For these features, you can use 1 instead of yes and 0 instead of no. If you want to turn a feature on, you can also simply list the feature name in the windowFeatures string.If windowName does not specify an existing window and you do not supply the windowFeatures parameter, all of the features which have a yes/no choice are yes by default. However, if you do supply the windowFeatures parameter, then the titlebar and hotkeys are still yes by default, but the other features which have a yes/no choice are no by default. For example, all of the following statements turn on the toolbar option and turn off all other Boolean options:open("", "messageWindow", "toolbar") open("", "messageWindow", "toolbar=yes") open("", "messageWindow", "toolbar=1") The following statement turn on the location and directories options and turns off all other Boolean options:open("", "messageWindow", "toolbar,directories=yes") How the alwaysLowered , alwaysRaised , and z-lock features behave depends on the windowing hierarchy of the platform. For example, on Windows, an alwaysLowered or z-locked browser window is below all windows in all open applications. On Macintosh, an alwaysLowered browser window is below all browser windows, but not necessarily below windows in other open applications. Similarly for an alwaysRaised window.You may use open to open a new window and then use open on that window to open another window, and so on. In this way, you can end up with a chain of opened windows, each of which has an opener property pointing to the window that opened it.Communicator allows a maximum of 100 windows to be around at once. If you open window2 from window1 and then are done with window1 , be sure to set the opener property of window2 to null . This allows JavaScript to garbage collect window1 . If you do not set the opener property to null , the window1 object remains, even though it's no longer really needed. Security To perform the following operations using the specified screen features, you need the UniversalBrowserWrite privilege: - To create a window smaller than 100 x 100 pixels or larger than the screen can accommodate by using
innerWidth , innerHeight , outerWidth , and outerHeight .
- To place a window off screen by using
screenX and screenY .
- To create a window without a titlebar by using
titlebar .
- To use
alwaysRaised , alwaysLowered , or z-lock for any setting.
For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. ExamplesExample 1. In the following example, the windowOpener function opens a window and uses write methods to display a message:function windowOpener() { msgWindow=window.open("","displayWindow","menubar=yes") msgWindow.document.write ("<HEAD><TITLE>Message window</TITLE></HEAD>") msgWindow.document.write ("<CENTER><BIG><B>Hello, world!</B></BIG></CENTER>") } Example 2. The following is an onClick event handler that opens a new client window displaying the content specified in the file sesame.html . The window opens with the specified option settings; all other options are false because they are not specified.<FORM NAME="myform"> <INPUT TYPE="button" NAME="Button1" VALUE="Open Sesame!" onClick="window.open ('sesame.html', 'newWin', 'scrollbars=yes,status=yes,width=300,height=300')"> </FORM> See alsoWindow.close printPrints the contents of the window.
Method of | Window | Implemented in | Navigator 4.0 |
Syntaxprint() ParametersNonepromptDisplays a Prompt dialog box with a message and an input field.
Method of | Window | Implemented in | Navigator 2.0 |
Syntaxprompt(message, inputDefault) Parameters
message | A string to be displayed as the message. | inputDefault | (Optional) A string or integer representing the default value of the input field. |
DescriptionA prompt dialog box looks as follows:Use the prompt method to display a dialog box that receives user input. If you do not specify an initial value for inputDefault , the dialog box displays <undefined> .You cannot specify a title for a prompt dialog box, but you can use the open method to create your own prompt dialog. See open . Examplesprompt("Enter the number of cookies you want to order:", 12) See alsoWindow.alert , Window.confirm releaseEventsSets the window or document to release captured events of the specified type, sending the event to objects further along the event hierarchy.
Method of | Window | Implemented in | Navigator 4.0 |
NoteIf the original target of the event is a window, the window receives the event even if it is set to release that type of event. SyntaxreleaseEvents(eventType) Parameters
eventType | Type of event to be captured. |
DescriptionreleaseEvents works in tandem with captureEvents , routeEvent , and handleEvent . For more information, see "Events in Navigator 4.0". resizeByResizes an entire window by moving the window's bottom-right corner by the specified amount.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxresizeBy(horizontal, vertical) Parameters
horizontal | The number of pixels by which to resize the window horizontally. | vertical | The number of pixels by which to resize the window vertically. |
DescriptionThis method changes the window's dimensions by setting its outerWidth and outerHeight properties. The upper left-hand corner remains anchored and the lower right-hand corner moves. resizeBy moves the window by adding or subtracting the specified number of pixels to that corner's current location. SecurityExceeding any of the boundaries of the screen (to hide some or all of a window) requires signed JavaScript, so a window won't move past the screen boundaries. In addition, windows have an enforced minimum size of 100 x 100 pixels; resizing a window to be smaller than this minimum requires signed JavaScript. You need the UniversalBrowserWrite privilege for this. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. ExamplesTo make the current window 5 pixels narrower and 10 pixels taller than its current dimensions, use this statement: self.resizeBy(-5,10); // relative positioning See alsoWindow.resizeTo resizeToResizes an entire window to the specified pixel dimensions.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxresizeTo(outerWidth, outerHeight) Parameters
outerWidth | An integer representing the window's width in pixels. | outerHeight | An integer representing the window's height in pixels. |
DescriptionThis method changes the window's dimensions by setting its outerWidth and outerHeight properties. The upper left-hand corner remains anchored and the lower right-hand corner moves. resizeBy moves to the specified position. The origin of the axes is at absolute position (0,0); this is the upper left-hand corner of the display. SecurityExceeding any of the boundaries of the screen (to hide some or all of a window) requires signed JavaScript, so a window won't move past the screen boundaries. In addition, windows have an enforced minimum size of 100 x 100 pixels; resizing a window to be smaller than this minimum requires signed JavaScript. You need the UniversalBrowserWrite privilege for this. For information on security in Navigator 4.0, see Chapter 7, "JavaScript Security," in the JavaScript Guide. ExamplesTo make the window 225 pixels wide and 200 pixels tall, use this statement:self.resizeTo(225,200); // absolute positioning See alsoWindow.resizeBy routeEventPasses a captured event along the normal event hierarchy.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxrouteEvent(event) Parameters
event | Name of the event to be routed. |
DescriptionIf a subobject (document or layer) is also capturing the event, the event is sent to that object. Otherwise, it is sent to its original target. routeEvent works in tandem with captureEvents , releaseEvents , and handleEvent . For more information, see "Events in Navigator 4.0". scrollScrolls a window to a specified coordinate.
Method of | Window | Implemented in | Navigator 3.0; deprecated in 4.0 |
DescriptionIn Navigator 4.0, scroll is no longer used and has been replaced by scrollTo . scrollTo extends the capabilities of scroll . scroll remains for backward compatibility.scrollByScrolls the viewing area of a window by the specified amount.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxscrollBy(horizontal, vertical) Parameters
horizontal | The number of pixels by which to scroll the viewing area horizontally. | vertical | The number of pixels by which to scroll the viewing area vertically. |
DescriptionThis method scrolls the content in the window if portions that can't be seen exist outside of the window. scrollBy scrolls the window by adding or subtracting the specified number of pixels to the current scrolled location. For this method to have an effect the visible property of Window.scrollbars must be true. ExamplesTo scroll the current window 5 pixels towards the left and 30 pixels down from the current position, use this statement: self.scrollBy(-5,30); // relative positioning See alsoWindow.scrollTo scrollToScrolls the viewing area of the window so that the specified point becomes the top-left corner.
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxscrollTo(x-coordinate, y-coordinate) Parameters
x-coordinate | An integer representing the x-coordinate of the viewing area in pixels. | y-coordinate | An integer representing the y-coordinate of the viewing area in pixels. |
DescriptionscrollTo replaces scroll . scroll remains for backward compatibility. The scrollTo method scrolls the content in the window if portions that can't be seen exist outside of the window. For this method to have an effect the visible property of Window.scrollbars must be true. ExamplesExample 1: Scroll the current viewing area. To scroll the current window to the leftmost boundary and 20 pixels down from the top of the window, use this statement: self.scrollTo(0,20); // absolute positioning Example 2: Scroll a different viewing area. The following code, which exists in one frame, scrolls the viewing area of a second frame. Two Text objects let the user specify the x and y coordinates. When the user clicks the Go button, the document in frame2 scrolls to the specified coordinates.<SCRIPT> function scrollIt(form) { var x = parseInt(form.x.value) var y = parseInt(form.y.value) parent.frame2.scrollTo(x, y) } </SCRIPT> <BODY> <FORM NAME="myForm"> <P><B>Specify the coordinates to scroll to:</B> <BR>Horizontal: <INPUT TYPE="text" NAME=x VALUE="0" SIZE=4> <BR>Vertical: <INPUT TYPE="text" NAME=y VALUE="0" SIZE=4> <BR><INPUT TYPE="button" VALUE="Go" onClick="scrollIt(document.myForm)"> </FORM> See alsoWindow.scrollBy setIntervalEvaluates an expression or calls a function every time a specified number of milliseconds elapses, until canceled by a call to clearInterval .
Method of | Window | Implemented in | Navigator 4.0 |
SyntaxsetInterval(expression, msec) setInterval(function, msec, arg1, ..., argN) Parameters
function | Any function. | expression | A string containing a JavaScript expression. The expression must be quoted; otherwise, setInterval calls it immediately. For example, setInterval("calcnum(3, 2)", 25) . | msec | A numeric value or numeric string, in millisecond units. | arg1, ..., argn | (Optional) The arguments, if any, passed to function . |
DescriptionThe timeouts continue to fire until the associated window or frame is destroyed or the interval is canceled using the clearInterval method. See alsoWindow.clearInterval , Window.setTimeout setTimeoutEvaluates an expression or calls a function once after a specified number of milliseconds elapses.
Method of | Window | Implemented in | Navigator 2.0: Evaluating an expression. Navigator 4.0: Calling a function. |
SyntaxsetTimeout(expression, msec) setTimeout(function, msec, arg1, ..., argN) Parameters
expression | A string containing a JavaScript expression. The expression must be quoted; otherwise, setTimeout calls it immediately. For example, setTimeout("calcnum(3, 2)", 25) . | msec | A numeric value or numeric string, in millisecond units. | function | Any function. | arg1, ..., argN | (Optional) The arguments, if any, passed to function . |
DescriptionThe setTimeout method evaluates an expression or calls a function after a specified amount of time. It does not act repeatedly. For example, if a setTimeout method specifies five seconds, the expression is evaluated or the function is called after five seconds, not every five seconds. For repetitive timeouts, use the setInterval method.setTimeout does not stall the script. The script continues immediately (not waiting for the timeout to expire). The call simply schedules an additional future event. ExamplesExample 1. The following example displays an alert message five seconds (5,000 milliseconds) after the user clicks a button. If the user clicks the second button before the alert message is displayed, the timeout is canceled and the alert does not display.<SCRIPT LANGUAGE="JavaScript"> function displayAlert() { alert("5 seconds have elapsed since the button was clicked.") } </SCRIPT> <BODY> <FORM> Click the button on the left for a reminder in 5 seconds; click the button on the right to cancel the reminder before it is displayed. <P> <INPUT TYPE="button" VALUE="5-second reminder" NAME="remind_button" onClick="timerID=setTimeout('displayAlert()',5000)"> <INPUT TYPE="button" VALUE="Clear the 5-second reminder" NAME="remind_disable_button" onClick="clearTimeout(timerID)"> </FORM> </BODY> Example 2. The following example displays the current time in a Text object. The showtime function, which is called recursively, uses the setTimeout method to update the time every second.<HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- var timerID = null var timerRunning = false function stopclock(){ if(timerRunning) clearTimeout(timerID) timerRunning = false } function startclock(){ // Make sure the clock is stopped stopclock() showtime() } function showtime(){ var now = new Date() var hours = now.getHours() var minutes = now.getMinutes() var seconds = now.getSeconds() var timeValue = "" + ((hours > 12) ? hours - 12 : hours) timeValue += ((minutes < 10) ? ":0" : ":") + minutes timeValue += ((seconds < 10) ? ":0" : ":") + seconds timeValue += (hours >= 12) ? " P.M." : " A.M." document.clock.face.value = timeValue timerID = setTimeout("showtime()",1000) timerRunning = true } //--> </SCRIPT> </HEAD> <BODY onLoad="startclock()"> <FORM NAME="clock" onSubmit="0"> <INPUT TYPE="text" NAME="face" SIZE=12 VALUE =""> </FORM> </BODY> See alsoWindow.clearTimeout , Window.setInterval stopStops the current download.
Method of | Window | Implemented in | Navigator 4.0 |
Syntaxstop() ParametersNone DefinitionThis method performs the same action as a user choosing the Stop button in the browser. |
| |