document
, Location
, and History
object group.
JavaScript 1.1: added
JavaScript 1.2: added |
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
.
onBlur
or onFocus
event handler in a FRAMESET
tag has no effect.
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:
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. 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.close
method is not useful for windows that are frames.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).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]
.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.
watch
and unwatch
methods from Object
.
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>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.
<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>
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>
document
, Frame
alert(message)
message |
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
.
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) {You can call the
if (textElement.length > 8) {
alert("Please enter a name that is 8 characters or less")
}
}
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)">
window.confirm
, window.prompt
atob(encodedData)
encodedData | A string of data which has been created using base-64 encoding. |
window.btoa
method takes a binary string as a parameter and returns a base-64 encoded string.
You can use the window.btoa
method to encode and transmit data which may otherwise cause communication problems, then transmit it and use the window.atob
method to decode the data again. For example, you can encode, transmit, and decode characters such as ASCII values 0 through 31.
// encode a string
encodedData = btoa("Hello, world");
// decode the string
decodedData = atob(encodedData);
window.btoa
back()
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()
.
<P><INPUT TYPE="button" VALUE="< Go Back"
onClick="history.back()">
<P><INPUT TYPE="button" VALUE="> Go Back"
onClick="myWindow.back()">
window.forward
, History.back
blur()
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.
window.focus
btoa(stringToEncode)
stringToEncode |
window.atob
method to decode the data again. For example, you can encode characters such as ASCII values 0 through 31.
window.atob
.
window.atob
captureEvents(eventType1 [|eventTypeN...])
eventType1... eventTypeN | The type of event to be captured. The available event types are discussed in Chapter 3, "Event Handlers." |
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, see the Client-Side JavaScript Guide.
captureEvents
works in tandem with releaseEvents
, routeEvent
, and handleEvent
. For more information, see the Client-Side JavaScript Guide.
setInterval
method.clearInterval(intervalID)
intervalID |
Timeout setting that was returned by a previous call to the |
setInterval
.
setInterval
.
window.setInterval
setTimeout
method.clearTimeout(timeoutID)
timeoutID |
A timeout setting that was returned by a previous call to the |
setTimeout
.
setTimeout
.
window.clearInterval
, window.setTimeout
JavaScript 1.0: closes any window JavaScript 1.1: closes only windows opened by JavaScript JavaScript 1.2: must use signed scripts to unconditionally close a window |
close()
UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
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()
.
window.close()Example 2: Close the main browser window. The following code closes the main browser window.
self.close()
close()
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("")
window.closed
, window.open
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.
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')Example 2. The following code determines if the current window's opener window is still closed, and calls the appropriate function.
...
if (win1.closed)
function1()
else
function2()
if (window.opener.closed)
function1()
else
function2()
window.close
, window.open
confirm(message)
message |
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
.
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() {You can call the
if (confirm("Are you sure you want to quit this application?")) {
cleanUp()
}
}
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()">
window.alert
, window.prompt
crypto
object is only available as a property of window
; it provides access to methods which support Navigator's encryption features.
window.crypto.random
, window.crypto.signText
crypto.random(numberOfBytes)
numberOfBytes | The number of bytes of pseudo-random data the method will return. |
numberOfBytes
parameter.
function getRandom() {
return crypto.random(16)
}
Math.random
crypto.signText
(text, selectionStyle [, authority1 [, ... authorityN]])
text | |
selectionStyle | |
authority1... authorityN | Optional strings evaluating to Certificate Authorities accepted by the server using the signed text. |
signText
method asks a user to validate a text
string by attaching a digital signature to it. If the selectionStyle
parameter is set to ask
, signText
displays a dialog box, and a user must interactively select a certificate to validate the text. If selectionStyle
is set to auto
, Navigator attempts to automatically select a certificate.
Use the signText
method to submit an encoded signature to a server; the server decodes the signature and verifies it. If signText
fails, it returns one of the following error codes:
error:noMatchingCert
specifies that the user's certificate does not match one of the certificates required by authority1
through authorityN
.error:userCancel
specifies that the user cancelled the signature dialog box without submitting a certificate.error:internalError
specifies that an internal error occurred.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.
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"In the previous example, notice that the
onMouseOver = "statusSetter(); return true">Netscape</A>
onMouseOver
event handler returns a value of true. You must return true to set status
or defaultStatus
in an event handler.
window.status
enableExternalCapture
method. disableExternalCapture()
enableExternalCapture
.
document
object.
enableExternalCapture()
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.
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>
window.disableExternalCapture
, window.captureEvents
find([string[, caseSensitive, backward]])
string | |
caseSensitive | |
backward |
focus()
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 JavaScript 1.1, 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).
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) {This example assumes that the
if (badPassword) {
alert("Please enter your password again.")
userPass.focus()
userPass.select()
}
}
Password
object is defined as
<INPUT TYPE="password" NAME="userPass">
window.blur
history.forward()
forward()
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()
.
<P><INPUT TYPE="button" VALUE="< Go Forth"
onClick="history.forward()">
<P><INPUT TYPE="button" VALUE="> Go Forth"
onClick="myWindow.forward()">
window.back
FRAME
tag) in source order. 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"]or as:
parent.frames["fr2"]
parent.frames["fr3"]
parent.frames[0]You can find out how many child frames the window has by using the
parent.frames[1]
parent.frames[2]
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.
handleEvent(event)
event | The name of an event for which the specified object has an event handler. |
handleEvent
works in tandem with captureEvents
, releaseEvents
, and routeEvent
. For more information, see the Client-Side JavaScript Guide.
History
object.
home()
UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
window.innerWidth
, window.outerHeight
, window.outerWidth
UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
window.innerHeight
, window.outerHeight
, window.outerWidth
length
property of the frames
array.
Location
object.
locationbar
property itself has one property, visible
. If true, the location bar is visible; if false, it is hidden.
visible
property requires the UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
menubar
property itself has one property, visible
. If true, the menu bar is visible; if false, it is hidden.
visible
property requires the UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
moveBy(horizontal, vertical)
horizontal | The number of pixels by which to move the window horizontally. |
vertical | The number of pixels by which to move the window vertically. |
UniversalBrowserWrite
privilege for this. For information on security, see the Client-Side JavaScript Guide.
self.moveBy(-5,10); // relative positioning
window.moveTo
moveTo(x-coordinate, y-coordinate)
x-coordinate | |
y-coordinate |
UniversalBrowserWrite
privilege for this. For information on security, see the Client-Side JavaScript Guide.
self.moveTo(25,10); // absolute positioning
window.moveBy
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.
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)
offscreenBuffering
to either false
or true
, respectively.
Buffering can reduce the flicker that occurs during window updates, but it requires additional system resources.
open(URL, windowName[, windowFeatures])
URL |
A string specifying the URL to open in the new window. See the |
windowName |
A string specifying the window name to use in the |
windowFeatures |
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, then Navigator Window from the Navigator File menu. 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.
You can specify the following features:
Table 1.4 Optional features to specify for a new window.
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")The following statement turn on the location and directories options and turns off all other Boolean options:
open("", "messageWindow", "toolbar=yes")
open("", "messageWindow", "toolbar=1")
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.
UniversalBrowserWrite
privilege:
innerWidth
, innerHeight
, outerWidth
, and outerHeight
.screenX
and screenY
.titlebar
.alwaysRaised
, alwaysLowered
, or z-lock
for any setting.windowOpener
function opens a window and uses write
methods to display a message:
function windowOpener() {Example 2. The following is an
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>")
}
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>
window.close
open
method.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.
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=nullExample 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'
window.close
, window.open
window.innerWidth
, window.innerHeight
, window.outerWidth
window.innerWidth
, window.innerHeight
, window.outerHeight
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
.
x = myWindow.pageXOffset
window.pageYOffset
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
.
x = myWindow.pageYOffset
window.pageXOffset
parent
property is the window or frame whose frameset contains the current frame.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.frameNameFor example, if the fourth frame in a set has
parent.frames[index]
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.
Frame
.
personalbar
property itself has one property, visible
. If true, the personal bar is visible; if false, it is hidden.
visible
property requires the UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
print()
prompt(message[, inputDefault])
message | |
inputDefault | A string or integer representing the default value of the input field. |
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
.
prompt("Enter the number of cookies you want to order:", 12)
window.alert
, window.confirm
NOTE: If 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.
releaseEvents(eventType1 [|eventTypeN...])
eventType1... eventTypeN | The type of event to be captured. The available event types are discussed in Chapter 3, "Event Handlers." |
releaseEvents
works in tandem with captureEvents
, routeEvent
, and handleEvent
. For more information, see the Client-Side JavaScript Guide.
resizeBy(horizontal, vertical)
horizontal | The number of pixels by which to resize the window horizontally. |
vertical | The number of pixels by which to resize the window vertically. |
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.
UniversalBrowserWrite
privilege for this. For information on security, see the Client-Side JavaScript Guide.
self.resizeBy(-5,10); // relative positioning
window.resizeTo
resizeTo(outerWidth, outerHeight)
outerWidth | |
outerHeight |
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.
UniversalBrowserWrite
privilege for this. For information on security, see the Client-Side JavaScript Guide.
self.resizeTo(225,200); // absolute positioning
window.resizeBy
routeEvent(event)
event |
routeEvent
works in tandem with captureEvents
, releaseEvents
, and handleEvent
. For more information, see the Client-Side JavaScript Guide.
screenX
property requires the UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
window.screenY
screenY
property requires the UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
window.screenX
scroll
is no longer used and has been replaced by scrollTo
. scrollTo
extends the capabilities of scroll
. scroll
remains for backward compatibility.
scrollbars
property itself has one property, visible
. If true, both scrollbars are visible; if false, they are hidden.
visible
property requires the UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
scrollBy(horizontal, vertical)
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. |
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.
self.scrollBy(-5,30); // relative positioning
window.scrollTo
scrollTo(x-coordinate, y-coordinate)
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. |
scrollTo
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.
self.scrollTo(0,20); // absolute positioningExample 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>
window.scrollBy
self
property is a synonym for the current window.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.
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>
setHotKeys(trueOrFalse)
trueOrFalse |
UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
setHotKeys
method, you can explicitly enable or disable all hot keys except security and quit, which are always enabled.
You can also specify whether to enable hot keys at the time you create a window when you use the window.open
method.
window.open
clearInterval
.setInterval(expression, msec)
setInterval(function, msec[, arg1[, ..., argN]])
function | |
expression | |
msec | |
arg1, ..., argn |
clearInterval
method.
setInterval
does not stall the script. The script continues immediately (not waiting for the interval to elapse). The call simply schedules a future event.
Text
object. In the startclock
function, the call to the setInterval
method causes the showtime
function to be called every second to update the clock. Notice that the startclock
function and setInterval
method are each called only one time.
<SCRIPT LANGUAGE="JavaScript">
var timerID = null
var timerRunning = false
function stopclock(){
if(timerRunning)
clearInterval(timerID)
timerRunning = false
}
function startclock(){
// Make sure the clock is stopped
stopclock()
timerID = setInterval("showtime()",1000)
timerRunning = true
}
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
}
</SCRIPT>
<BODY onLoad="startclock()">
<FORM NAME="clock" onSubmit="0">
<INPUT TYPE="text" NAME="face" SIZE=12 VALUE ="">
</FORM>
</BODY>
window.clearInterval
, window.setTimeout
setResizable(trueOrFalse)
trueOrFalse | A Boolean value specifying whether a user can resize a window: |
setResizable
method, you can explicitly enable or disable the ability of a user to resize a window. Not all operating systems support this method.
You can also specify whether a window is resizable at the time you create it when you use the window.open
method.
window.open
setTimeout(expression, msec)
setTimeout(function, msec[, arg1[, ..., argN]])
expression | |
msec | |
function | |
arg1, ..., argN |
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 a future event.
<SCRIPT LANGUAGE="JavaScript">Example 2. The following example displays the current time in a
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>
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>
window.clearTimeout
, window.setInterval
setZOptions(windowPosition)
windowPosition |
UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
setZOptions
method, you can explicitly specify a window's position in the z-order.
If you do not specify an argument for setZOptions
, this method restores the default z-order stacking behavior of a Navigator window.
You can also specify the order stacking behavior of a window at the time you create it when you use the window.open
method.
window.open
mouseOver
event occurs over an anchor.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.
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=""In the preceding example, the
onClick="this.href=pickRandomURL()"
onMouseOver="self.status='Pick a random URL'; return true">
Go!</A>
status
property of the window is assigned to the window's self
property, as self.status
.
window.defaultStatus
statusbar
property itself one property, visible
. If true, the status bar is visible; if false, it is hidden.
visible
property requires the UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
stop()
toolbar
property itself has one property, visible
. If true, the toolbar is visible; if false, it is hidden.
visible
property requires the UniversalBrowserWrite
privilege. For information on security, see the Client-Side JavaScript Guide.
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
top
property is a synonym for the topmost browser window, which is a document window or web browser window.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.
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%">The following example sets the background color of a frame called
<FRAME SRC=child1.htm NAME="childFrame1">
<FRAME SRC=child2.htm NAME="childFrame2">
<FRAME SRC=child3.htm NAME="childFrame3">
</FRAMESET>
myFrame
to red. myFrame
is a child of the topmost ancestor window.
top.myFrame.document.bgColor="red"
window
property is a synonym for the current window or frame.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.
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>
window.self
Last Updated: 05/28/99 12:00:46