JavaScript & DHTML Cookbook and over one million other books are available for Amazon Kindle . Learn more

Have one to sell? Sell yours here
JavaScript and DHTML Cookbook
  
Start reading JavaScript & DHTML Cookbook on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

JavaScript and DHTML Cookbook [School & Library Binding]

Danny Goodman
4.5 out of 5 stars  See all reviews (4 customer reviews)

Currently unavailable.
We don't know when or if this item will be back in stock.


Formats

Amazon Price New from Used from
Kindle Edition £14.58  
School & Library Binding --  
Paperback £23.43  
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Plus, get an extra £5 Gift Certificate when you trade in books worth £10 or more before June 30, 2012. Visit the Books Trade-In Store for more details.


Product details

  • School & Library Binding
  • Publisher: Topeka Bindery (April 2003)
  • Language English
  • ISBN-10: 141762583X
  • ISBN-13: 978-1417625833
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (4 customer reviews)
  • See Complete Table of Contents

More About the Author

Danny Goodman
Discover books, learn about writers, and more.

Visit Amazon's Danny Goodman Page

Product Description

Excerpted from JavaScript and DHTML Cookbook by Danny Goodman. Copyright © 2003. Reprinted by permission. All rights reserved.

Chapter 10 - Page Navigation Techniques

10.0 Introduction
No web page is (or should be) an island. Just as there is a way to reach the page, so should there be one or more ways to navigate to other destinations, either within the same site or outside. The HTML hyperlink element—embedded in pages as the rather nondescript tag—is the conventional, nonscripted way to provide a clickable avenue for the user to navigate to another page. But more sophisticated user interface designs frequently require Dynamic HTML to assist with the presentation of navigation options and the very act of navigating.

The location Object
Each window (and frame) object in every scriptable browser has a location object whose properties contain information about the URL of the page currently loaded into the browser. This is an abstract object, meaning that the object has no particular physical presence visible on the page—except perhaps the URL that appears in the browser’s Location or Address field. But the location object does not control what the user sees in the Location/Address field unless the browser succeeds in navigating to a page you assign to the location object.

Properties of the location object are read/write. The individual properties reveal components of the URL (and even the entire URL) of the loaded page. Without any restrictions to this information, however, scripts could spy on your browser activity without you knowing it. For example, imagine entering an unscrupulous web site that looks like the Google search page. In fact, you could be viewing the actual Google search page within a frameset whose second frame is hidden from view. A script in the framesetting document or the other frame could inspect the location object of the visible frame every ten seconds, accumulating a record of every page visited in that frame. The information could then be sent back to the spoofer’s server without the user’s knowledge or permission. Despite the fact that, in some situations, knowing the URL of another frame or window could enhance the user experience, the potential for invasion of privacy has forced browser makers to clamp down on the reading power of location object properties.

Browsers observe various types of security policies to help protect a user’s privacy. The policy that applies to the location object is known as the same origin policy. If a script running in a page served by one server and domain wishes to inspect the location object of another frame or window, the document in the other frame or window must also be served by the same server and domain. If the user navigates in one of the frames to another domain or server, the same origin policy fails (even though the frameset is still served within policy), and the location information is not accessible to the other frame.

Partially as a result of a variety of security holes in Internet Explorer for Windows, Microsoft occasionally clamps down so tightly on a potential threat that attempts to read location object properties of another window or frame—even from the same origin—result in a security-related script error (such as "Access denied."). From a reliability standpoint, reading the location object is best done in the same page as the script doing the reading. As you’ll see in a few recipes in this chapter, there are some good reasons to do this.

All this security stuff, however, applies only to reading the location object’s property values. You can assign new values to the properties across window and frame boundaries with impunity.

Passing Data Between Pages
A very common model in the web-application world is essentially a forms-based navigation system, in which virtually every page is a form whose values are submitted as a way to progress to the next page. When the submitted form reaches the server, programming on the server dissects the form controls’ name/value pairs. Some of the pairs may get shunted off to a backend database. Other bits may be reformulated as values of hidden input elements in the page that gets assembled for return as the next page. Once the second page is served up, the server doesn’t know whether the user is still connected to the site or has perhaps navigated off somewhere else. In other words, the server simply reacts to requests from a browser, returning a page in response.

The server may be programmed to keep some temporary information about the user on hand, identified by a session ID. That session ID is passed down to the browser with each returned page so that when the next request arrives, the server program can tie together requests that come from a single browser. Some server programs that assemble pages on the fly for each visitor (such as amazon.com) populate the href attributes of all intrasite links with the session ID so that the server can keep passing the ID along from page to page. It may sound a bit crude, but it is much more bandwidth-efficient than maintaining a full-time connection between server and browser (or between thousands of browsers at any instant for a popular public site).However, not everyone has the requisite programming skills or server access to accomplish this server-based way of passing along live information from one page to another. By the same token, security restrictions in browsers prevent the random reading and writing of data to the local hard drive of users. Fortunately, with the help of JavaScript and various pieces of the object models, you do have a few different ways to get information from one page to another without having to involve the server. Recipes 10.4 through 10.6 show these approaches using cookies, frames, and URLs. For example, consider the case in which a user has bookmarked just one content page from a frameset whose other frames provide vital site navigation tools. --This text refers to the Paperback edition.


Inside This Book (Learn More)
Browse and search another edition of this book.
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product)
 

Your tags: Add your first tag
 

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

4 star
0
2 star
0
1 star
0
Most Helpful Customer Reviews
43 of 43 people found the following review helpful
Just the job 5 Jun 2003
By A Customer
Format:Paperback
I have been working on developing a web application now for about 6 months and just recently got this book. I only wish I had got hold of it 6 months ago. Looking through the table of contents it contains examples of nearly all the Javascript functionality that I have struggled to incorporate into our application. I would have saved loads of time and probably have coded things a lot more efficiently if I'd had this book first. Topics such as date validation, handling script errors, creating a new window, bringing a window to the front, changing the contents of one frame from another, resizing frames, setting frameset specifications dynamically, blocking submissions from the Enter Key, Advancing Text Field Focus with the Enter Key to name just a few! I've already used it since getting it to look up modal windows and creating tree-view structures.

This is everything I expected that book to be.

I heartily recommend this book. It has tons of highly usable examples.

Comment | 
Was this review helpful to you?
12 of 12 people found the following review helpful
By A Customer
Format:Paperback
I don't normally write reviews but after reading this book I felt I had to spread the good word. The style and pace of this book is excellent if you are already a programmer and need to pick up javascript quickly. You'll need a more comprehensive Javascript book to ensure you cover all bases, but if you want to learn the basics and how to actually deliver results without having to wade through chapters of general theory of programming then this is the type of book for you.
Comment | 
Was this review helpful to you?
4 of 4 people found the following review helpful
All round package 29 Mar 2008
Format:Paperback
This book delivers a lot.

It is uniquely difficult to get into client scripting because it draws on so many technologies; has been a battle ground for browser developers; and the development tools are so poor.

I read(tried to read) loads of books on client side scripting but could not get the picture I needed to understand what is going on. They either each describe a single technology which is not, in itself, enough to get started with, or they describe such a big picture that there is no practical application for the knowledge.

This book covers sufficient ground that a complete picture emerges but also links that picture to the practical details needed to get stuck in.

As well as getting me going there was plenty of depth to and detail whenever I wanted it.

I have always found that in each area there is one book which has provided the breakthrough. For client side scripting this has been that book.
Comment | 
Was this review helpful to you?

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Look for similar items by subject


Feedback