An alternative to using Navigate
is to change the HRef
property of the Window
object’s Location
object. The effect is the same. The browser window always shows the page at some URL—so it makes sense to have some way to represent the various properties of this spot on the World Wide Web or on an Intranet. The Location
object is the way we do it.
Paying attention to this object now will save us some time later— the properties of the Location
object are reused more than once in the rest of the browser object model. You’ll find that the Document
object has its own Location
property, and that all of the links on a page are represented by a set of properties that mimic the properties of Window
’s Location
object.
The mother of all Location
properties is HRef
. Out of the eight total properties that are a part of Location
, seven are derived from the HRef
property—and the eighth property is HRef
itself. HRef
returns the current URL for the page in the browser. If the page is the top level page of a frameset, it returns this top level URL.
In addition to reading the current location, we can change it simply by setting this property. For example, the following line of code redirects the browser to the Wrox Press home page. Window
, in this instance, is optional:
Window.Location.href = "http://www.wrox.com"
The remainder of Location
’s properties are born from the HRef
property. To illustrate what we mean, suppose we were viewing a page with the URL:
http://www.wrox.com:80/asp/book.htm?abc.
The following table shows how each of the properties would be set (a hash mark in this context is a #
in the page’s HTML):
Property | Value | Description |
href |
http://www.wrox.com:80/asp/book.htm?abc | complete URL |
protocol |
http: | URL’s protocol |
host |
www.wrox.com:80 | hostname and port number |
hostname |
www.wrox.com | name of host |
port |
80 | port number (default is 80) |
pathname |
/asp/book.htm | path after host |
search |
?abc | any query string |
hash |
(nothing – would contain any hash specified with #) | any hash value |