HTML5 Web Storage

Total Page:16

File Type:pdf, Size:1020Kb

HTML5 Web Storage IST541 Interactive Media MIST Program HTML5 Web Storage Since the earlier years of the WWW, web browsers have provided the ability to store data by using “cookies”. A “cookie” is a small piece of data, like a username, that is stored in the web browser to track some web sites you have visited. HTML5 expands the “cookie” functionality by allowing storing large amount of data into the web browser. There are two types of storage provided by HTML5: Local: The information will remain on the web browser until it expires or it is explicitly removed. It can be remain in the browser forever if no expiration date is set. Session: The information will be deleted automatically when the web browser is closed In this tutorial, we will create a web page that will prompt for the learner’s name. Once the learner submits his/her name, a program will save it into local storage and it will open a second web page. This second page will retrieve the learner’s name from storage and display it. A demo of this web page is located at: http://itcdland.csumb.edu/~milara/ist541/samples/storage/setName.html Notice that even if you close your browser and turn off your computer for several days, whenever you open the file http://itcdland.csumb.edu/~milara/ist541/samples/storage/getName.html directly, the name entered is still there! Section 1: Preparing the Folder Structure 1. In your local computer, create a folder called “storage” (optionally, you can give it any other name). 2. Inside this folder, create a css folder 3. Create a new HTML5 file, name it setName.html and save it within the storage folder 1 IST541 Interactive Media MIST Program Section 2: Writing the HTML Content for setName.html 1. Copy and paste the following HTML code within the <body> tag of the setName.html file: <div id="wrapper"> <h1> Welcome! </h1> <form action="getName.html"> Enter your Name: <input type="text" id="learner_name" /> <input type="submit" id="submit" value="Go" /> </form> </div> Observe that the code is using an HTML form. The “action” attribute (highlighted in yellow) specifies the file that will be opened when submitting the form: getName.html The form contains a text box with the id “learner_name” and a submit button with the id “submit” 2. Save the file and open it in a web browser. When submit the form, you should get a “File Not Found” error because we haven’t created the “get.html” file yet. Section 3: Creating the CSS file 1. Create a new file named “storage.css” and save it within the css folder. 2. Copy and paste the following CSS code: 2 IST541 Interactive Media MIST Program #wrapper { width: 900px; margin: 0 auto; text-align: center; } This CSS rule centers the wrapper within the page and also centers its content. 3. Link the external CSS file to the HTML file by entering the following line right above the closing </head> tag: <link href="css/storage.css" rel="stylesheet" type="text/css"> </head> <!- - You don’t need to copy this line, it just shows where to copy the above line--> Section 4: Writing the jQuery Code to Store Data Copy and paste the following code right above the closing </head> tag: <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> <script> $(function(){ $("#submit").click( function(){ localStorage.setItem("learnerName",$("#learner_name").val()); }); }); </script> Let’s explain each of the lines included within the main jQuery function: The first line: $("#submit").click( function(){ 3 IST541 Interactive Media MIST Program Indicates that the code will be executed only when clicking on the HTML element that has the id “submit”, which is the Submit button. The second line is saving the learners’ name into storage: localStorage.setItem("learnerName",$("#learner_name").val()); $("#learner_name").val() retrieves the data entered into the HTML element with the id “learner_name”, which is the text box entry. This value is then saved into a variable called “learnerName”, this is the actual variable that is saved into local storage. Here is the process graphically: a) Local storage starts empty: b) The learner enters his/her name into the form and then clicks on the submit button. Note: The id of this text item is John Name: “learner_name” Submit c) Since the “id” of the Submit button matches the following line within the jQuery main function, then the code inside the function is executed. $("#submit").click( function(){ e) The name entered by the learner is retrieved using $("#learner_name").val() and is assigned to a variable called “learnerName” f) After executing the line: localStorage.setItem("learnerName",$("#learner_name").val()); local storage contains now the variable learnerName “learnerName” whose value is “John” 4 IST541 Interactive Media MIST Program Section 5: Writing the HTML Content for getName.html In order to test whether the variable containing the learner’s name has been successfully saved into local storage, we need to create a file to retrieve and display it. 1. Create a new HTML5 and save it as getName.html 2. Copy and paste the following HTML code within the <body> tag: <div id="wrapper"> <h1> This certifies that <br /><br /> <div id="learner_name"></div><br /> completed this workshop successfully. </h1> </div> Observe that we are using an empty div container with the id “learner_name”. We will use this container to display the learner’s name through jQuery code. Section 6: Applying the CSS style to the getName.html File 1. We will use the same storage.css CSS file. Copy and paste the following line above the closing </head> tag to link it: <link href="css/storage.css" rel="stylesheet" type="text/css"> </head> <!- - You don’t need to copy this line, it just shows where to copy the above line--> 2. Save and open the file in a web browser. Now when submitting the HTML form located in getName.html, you should be able to go to getName.html. However, the learner’s name won’t be displayed yet. Section 7: Retrieving Data from Local Storage Copy and paste the following code right above the closing </head> tag in order to retrieve the learner’s name: 5 IST541 Interactive Media MIST Program <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> <script> $(function(){ name = localStorage.getItem("learnerName"); $("#learner_name").html(name); }); </script> In the first highlighted line, we are retrieving the value of the variable “learnerName” from local storage and saving it into another variable called “name”. In the second line, we are writing the value of “name” into the HTML element with the id “learner_name”, which is the empty div container we added previously. Note: I f you are using Internet Explorer, you need to upload the file to the ITCDLand server in order to use Local Storage. 6 .
Recommended publications
  • Rdfa in XHTML: Syntax and Processing Rdfa in XHTML: Syntax and Processing
    RDFa in XHTML: Syntax and Processing RDFa in XHTML: Syntax and Processing RDFa in XHTML: Syntax and Processing A collection of attributes and processing rules for extending XHTML to support RDF W3C Recommendation 14 October 2008 This version: http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014 Latest version: http://www.w3.org/TR/rdfa-syntax Previous version: http://www.w3.org/TR/2008/PR-rdfa-syntax-20080904 Diff from previous version: rdfa-syntax-diff.html Editors: Ben Adida, Creative Commons [email protected] Mark Birbeck, webBackplane [email protected] Shane McCarron, Applied Testing and Technology, Inc. [email protected] Steven Pemberton, CWI Please refer to the errata for this document, which may include some normative corrections. This document is also available in these non-normative formats: PostScript version, PDF version, ZIP archive, and Gzip’d TAR archive. The English version of this specification is the only normative version. Non-normative translations may also be available. Copyright © 2007-2008 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply. Abstract The current Web is primarily made up of an enormous number of documents that have been created using HTML. These documents contain significant amounts of structured data, which is largely unavailable to tools and applications. When publishers can express this data more completely, and when tools can read it, a new world of user functionality becomes available, letting users transfer structured data between applications and web sites, and allowing browsing applications to improve the user experience: an event on a web page can be directly imported - 1 - How to Read this Document RDFa in XHTML: Syntax and Processing into a user’s desktop calendar; a license on a document can be detected so that users can be informed of their rights automatically; a photo’s creator, camera setting information, resolution, location and topic can be published as easily as the original photo itself, enabling structured search and sharing.
    [Show full text]
  • HTML5 Favorite Twitter Searches App Browser-Based Mobile Apps with HTML5, CSS3, Javascript and Web Storage
    Androidfp_19.fm Page 1 Friday, May 18, 2012 10:32 AM 19 HTML5 Favorite Twitter Searches App Browser-Based Mobile Apps with HTML5, CSS3, JavaScript and Web Storage Objectives In this chapter you’ll: ■ Implement a web-based version of the Favorite Twitter Searches app from Chapter 5. ■ Use HTML5 and CSS3 to implement the interface of a web app. ■ Use JavaScript to implement the logic of a web app. ■ Use HTML5’s Web Storage APIs to store key-value pairs of data that persist between executions of a web app. ■ Use a CSS reset to remove all browser specific HTML- element formatting before styling an HTML document’s elements. ■ Save a shortcut for a web app to your device’s home screen so you can easily launch a web app. = DRAFT: © Copyright 1992–2012 by Deitel & Associates, Inc. All Rights Reserved. Androidfp_19.fm Page 2 Friday, May 18, 2012 10:32 AM 2 Chapter 19 HTML5 Favorite Twitter Searches App 19.1 Introduction 19.5 Building the App 19.2 Test-Driving the Favorite Twitter 19.5.1 HTML5 Document Searches App 19.5.2 CSS 19.5.3 JavaScript 19.3 Technologies Overview Outline 19.6 Wrap-Up 19.1 Introduction The Favorite Twitter Searches app from Chapter 5 allowed users to save their favorite Twit- ter search strings with easy-to-remember, user-chosen, short tag names. Users could then conveniently follow tweets on their favorite topics. In this chapter, we reimplement the Fa- vorite Twitter Searches app as a web app, using HTML5, CSS3 and JavaScript.
    [Show full text]
  • Seamless Offloading of Web App Computations from Mobile Device to Edge Clouds Via HTML5 Web Worker Migration
    Seamless Offloading of Web App Computations From Mobile Device to Edge Clouds via HTML5 Web Worker Migration Hyuk Jin Jeong Seoul National University SoCC 2019 Virtual Machine & Optimization Laboratory Department of Electrical and Computer Engineering Seoul National University Computation Offloading Mobile clients have limited hardware resources Require computation offloading to servers E.g., cloud gaming or cloud ML services for mobile Traditional cloud servers are located far from clients Suffer from high latency 60~70 ms (RTT from our lab to the closest Google Cloud DC) Latency<50 ms is preferred for time-critical games Cloud data center End device [Kjetil Raaen, NIK 2014] 2 Virtual Machine & Optimization Laboratory Edge Cloud Edge servers are located at the edge of the network Provide ultra low (~a few ms) latency Central Clouds Mobile WiFi APs Small cells Edge Device Cloud Clouds What if a user moves? 3 Virtual Machine & Optimization Laboratory A Major Issue: User Mobility How to seamlessly provide a service when a user moves to a different server? Resume the service at the new server What if execution state (e.g., game data) remains on the previous server? This is a challenging problem Edge computing community has struggled to solve it • VM Handoff [Ha et al. SEC’ 17], Container Migration [Lele Ma et al. SEC’ 17], Serverless Edge Computing [Claudio Cicconetti et al. PerCom’ 19] We propose a new approach for web apps based on app migration techniques 4 Virtual Machine & Optimization Laboratory Outline Motivation Proposed system WebAssembly
    [Show full text]
  • An Investigation Into World Wide Web Publishing with the Hypertext Markup Language Eric Joseph Cohen
    Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 11-1-1995 An Investigation into world wide web publishing with the hypertext markup language Eric Joseph Cohen Follow this and additional works at: http://scholarworks.rit.edu/theses Recommended Citation Cohen, Eric Joseph, "An Investigation into world wide web publishing with the hypertext markup language" (1995). Thesis. Rochester Institute of Technology. Accessed from This Thesis is brought to you for free and open access by the Thesis/Dissertation Collections at RIT Scholar Works. It has been accepted for inclusion in Theses by an authorized administrator of RIT Scholar Works. For more information, please contact [email protected]. An Investigation into World Wide Web Publishing with the Hypertext Markup Language by Eric Joseph Cohen A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in the School of Printing Management and Sciences in the College of Imaging Arts and Sciences of the Rochester Institute of Technology November 1995 Thesis Advisor: Professor Frank Romano School of Printing Management and Sciences Rochester Institute of Technology Rochester, New York Certificate of Approval Master1s Thesis This is to certify that the Master's Thesis of Eric joseph Cohen With a major in Graphic Arts Publishing has been approved by the Thesis Committee as satisfactory for the thesis requirement for the Master of Science degree at the convocation of November 1995 Thesis Committee: Frank Romano Thesis Advisor Marie Freckleton Graduate Program Coordinator C. Harold Goffin Director or Designate Title of Thesis: An Investigation into World Wide Web Publishing with the Hypertext Markup Language September 12, 1995 I, Eric Joseph Cohen, hereby grant permission to the Wallace Memorial Library of RIT to reproduce my thesis in whole or in part.
    [Show full text]
  • Multimedia Foundations Glossary of Terms Chapter 7 – Web Design
    Multimedia Foundations Glossary of Terms Chapter 7 – Web Design Absolute URL A path statement that includes the complete physical address of a file on the WWW, often beginning with the protocol http://. Alternative Text A short narrative description of a web-based image intended to convey the essence of its content for users with disabilities. ARPANET Advanced Research Projects Agency Network. The world’s first packet-switching network became operational in 1969. The predecessor of the global Internet. Attribute HTML syntax used to modify an HTML element (or tag). Usually occurs as a name-value pair, separated by "=". Background Image The image file source (usually a JPEG or GIF) that serves as the visual background for an HTML element. Block-Level Element HTML elements specifically designed to handle large chunks of information (e.g. paragraphs, lists, and list items). Body The main section of an HTML document containing information the user will see or code that directly affects its presentation. Browser Or Web browser. A software program designed for accessing HTML-based documents and presenting them on screen for viewing (e.g. Chrome, Internet Explorer, Firefox, and Safari). Button An object or widget in a graphical user interface that performs an action when selected by the user. Cascading Style Sheets (CSS) An external style sheet (a .css file) containing instructions for the physical appearance of HTML content on the screen. Character Reference Special character commands used in HTML that allow you to use symbols (a.k.a. glyphs) that are not part of the standard HTML character set, such as a copyright symbol © and quotation marks.
    [Show full text]
  • Copyrighted Material
    05_096970 ch01.qxp 4/20/07 11:27 PM Page 3 1 Introducing Cascading Style Sheets Cascading style sheets is a language intended to simplify website design and development. Put simply, CSS handles the look and feel of a web page. With CSS, you can control the color of text, the style of fonts, the spacing between paragraphs, how columns are sized and laid out, what back- ground images or colors are used, as well as a variety of other visual effects. CSS was created in language that is easy to learn and understand, but it provides powerful control over the presentation of a document. Most commonly, CSS is combined with the markup languages HTML or XHTML. These markup languages contain the actual text you see in a web page — the hyperlinks, paragraphs, headings, lists, and tables — and are the glue of a web docu- ment. They contain the web page’s data, as well as the CSS document that contains information about what the web page should look like, and JavaScript, which is another language that pro- vides dynamic and interactive functionality. HTML and XHTML are very similar languages. In fact, for the majority of documents today, they are pretty much identical, although XHTML has some strict requirements about the type of syntax used. I discuss the differences between these two languages in detail in Chapter 2, and I also pro- vide a few simple examples of what each language looks like and how CSS comes together with the language to create a web page. In this chapter, however, I discuss the following: ❑ The W3C, an organization that plans and makes recommendations for how the web should functionCOPYRIGHTED and evolve MATERIAL ❑ How Internet documents work, where they come from, and how the browser displays them ❑ An abridged history of the Internet ❑ Why CSS was a desperately needed solution ❑ The advantages of using CSS 05_096970 ch01.qxp 4/20/07 11:27 PM Page 4 Part I: The Basics The next section takes a look at the independent organization that makes recommendations about how CSS, as well as a variety of other web-specific languages, should be used and implemented.
    [Show full text]
  • Qumu HTML5 Multicast Extension Deliver Video Across the Enterprise—With No Plugins Required
    DATASHEET Qumu HTML5 Multicast Extension Deliver video across the enterprise—with no plugins required What is it? The Qumu HTML5 Multicast Extension is a revolutionary solution to the problem introduced by modern browsers— delivering Multicast video behind the firewall, to users who no longer have browsers that support Microsoft Silverlight. The HTML5 Multicast Extension from Qumu provides a seamless way to play a Multicast live broadcast natively in newer versions of Google Chrome, Internet Explorer, Microsoft Edge and Firefox. How does it work? Deployed with Qumu’s on premise solution, enterprises simply install the extension on each desktop to allow employees to experience live streaming with Multicast on the browser of their choice. By working together with the Qumu VideoNet Edge that originates multicast throughout the corporate network, the HTML5 Multicast Extension provides a complete solution for delivering and rendering multicast video in corporate environment. What are the benefits? Organizations can leverage current infrastructure on the Network and WAN to support multicast in modern browsers The extension supports HTML5 with no additional requirements for Windows Media, Flash, or Silverlight The Qumu HTML5 Multicast Extension delivers high-quality video to the entire organization with minimal network impact Qumu on premise platform customers can expand their video delivery footprint to thousands of users—quickly and cost effectively The extension can be deployed and managed via a software- only solution, 100% behind the firewall. Playlist failover from RTP Multicast to RTSP Unicast is supported, and so are in-band slides and events What are the technical details? Client Support: Formats Supported: · Windows 7, 8.1 and 10 · IE11 (Win10) Live – RTP Multicast, RTSP Unicast · Google Chrome · Microsoft Edge · Firefox Want to Know More? Contact Us.
    [Show full text]
  • INF3580/4580 – Semantic Technologies – Spring 2016 Lecture 15: Rdfa
    INF3580/4580 { Semantic Technologies { Spring 2016 Lecture 15: RDFa Martin Giese 30th May 2016 Department of University of Informatics Oslo Repetition 18 June: Guest lecture, Lars Marius Garshol 25 May: no lecture (Whit Monday) 1st June is reserved for \Repetition" No fixed lecture material You, the students, say what you want to hear Let me know in time, so I'm prepared. Drop a mail to [email protected] until 18th May INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 2 / 29 Today's Plan 1 Reminder 2 Linking RDF to HTML 3 RDFa 4 Conclusion INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 3 / 29 Reminder Outline 1 Reminder 2 Linking RDF to HTML 3 RDFa 4 Conclusion INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 4 / 29 FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds for instance dbpedia.org, dblp, and others In RDF files, downloadable with HTTP, FTP, etc. Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files As data model behind SPARQL query endpoints Embedded in HTML, as RDFa Reminder RDF on the Web RDF data exists in many forms: INF3580/4580 :: Spring 2016 Lecture 15 :: 30th May 5 / 29 for instance dbpedia.org, dblp, and others FOAF profiles data files from dbpedia.org, geonames, etc. In RSS 1.0 feeds Published using LOD principles (hash/slash namespaces) As metadata in PDF/A files As data model behind SPARQL query endpoints Embedded in HTML, as RDFa Reminder RDF on the Web RDF data exists in many forms: In RDF files, downloadable with HTTP, FTP, etc.
    [Show full text]
  • HTML5 Indexeddb
    HHTTMMLL55 -- IINNDDEEXXEEDDDDBB http://www.tutorialspoint.com/html5/html5_indexeddb.htm Copyright © tutorialspoint.com The indexeddb is a new HTML5 concept to store the data inside user's browser. indexeddb is more power than local storage and useful for applications that requires to store large amount of the data. These applications can run more efficiency and load faster. Why to use indexeddb? The W3C has announced that the Web SQL database is a deprecated local storage specification so web developer should not use this technology any more. indexeddb is an alternative for web SQL data base and more effective than older technologies. Features it stores key-pair values it is not a relational database IndexedDB API is mostly asynchronous it is not a structured query language it has supported to access the data from same domain IndexedDB Before enter into an indexeddb, we need to add some prefixes of implementation as shown below window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction; window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange if (!window.indexedDB) { window.alert("Your browser doesn't support a stable version of IndexedDB.") } Open an IndexedDB database Before creating a database, we have to prepare some data for the data base.let's start with company employee details. const employeeData = [ { id: "01", name: "Gopal K Varma", age: 35,
    [Show full text]
  • Coding Your First HTML5 Game
    Coding Your First HTML5 Game Randy Hoyt @randyhoyt randyhoyt.com/launchgame @randyhoyt Overview • Code • HTML5 • Games @randyhoyt Overview • Games • HTML5 • Code @randyhoyt Games Games • Games are fun I love games! @randyhoyt A Theory of Fun (2004), by Ralph Koster Games • Games are fun • Games are everywhere I love games! @randyhoyt Homo Ludens (1938), by Johan Huizinga Games • Games are fun • Games are everywhere • Games exercise the brain I love games! @randyhoyt Play engages the prefrontal cortex, responsible for your highest-level cognitive functions – including self- knowledge, memory, mental imagery, and incentive and reward processing. Brain Workout, Life Optimizer, http://trhou.se/WHkaR7 Brain Workout, Life Optimizer, http://trhou.se/WHkaR7 Games • Games are fun • Games are everywhere • Games exercise the brain • Games are practice for the real world I love games! @randyhoyt 7 TED Talks on Gaming, http://trhou.se/gamesTED Games And Me @randyhoyt HTML5 Buzzword Alert! HTML5 and Related Technologies • Canvas @randyhoyt HTML5 and Related Technologies • Canvas • WebGL http://trhou.se/whyWebGL @randyhoyt HTML5 and Related Technologies • Canvas • WebGL http://trhou.se/whyWebGL • WebSocket http://trhou.se/introwebsockets @randyhoyt HTML5 and Related Technologies • Canvas • WebGL http://trhou.se/whyWebGL • WebSocket http://trhou.se/introwebsockets • SVG @randyhoyt HTML5 Games It’s official: with HTML5 today the browser has become a full- fledged gaming platform. HTML5 Gaming, http://html5rocks.com/gaming Behind the Scenes, http://www.cuttherope.ie/dev/
    [Show full text]
  • Document Object Model
    Document Object Model CITS3403: Agile Web Development Semester 1, 2021 Introduction • We’ve seen JavaScript core – provides a general scripting language – but why is it so useful for the web? • Client-side JavaScript adds collection of objects, methods and properties that allow scripts to interact with HTML documents dynamic documents client-side programming • This is done by bindings to the Document Object Model (DOM) – “The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents.” – “The document can be further processed and the results of that processing can be incorporated back into the presented page.” • DOM specifications describe an abstract model of a document – API between HTML document and program – Interfaces describe methods and properties – Different languages will bind the interfaces to specific implementations – Data are represented as properties and operations as methods • https://www.w3schools.com/js/js_htmldom.asp The DOM Tree • DOM API describes a tree structure – reflects the hierarchy in the XTML document – example... <html xmlns = "http://www.w3.org/1999/xhtml"> <head> <title> A simple document </title> </head> <body> <table> <tr> <th>Breakfast</th> <td>0</td> <td>1</td> </tr> <tr> <th>Lunch</th> <td>1</td> <td>0</td> </tr> </table> </body> </html> Execution Environment • The DOM tree also includes nodes for the execution environment in a browser • Window object represents the window displaying a document – All properties are visible to all scripts – Global variables are properties of the Window object • Document object represents the HTML document displayed – Accessed through document property of Window – Property arrays for forms, links, images, anchors, … • The Browser Object Model is sometimes used to refer to bindings to the browser, not specific to the current page (document) being rendered.
    [Show full text]
  • Chapter 10 Document Object Model and Dynamic HTML
    Chapter 10 Document Object Model and Dynamic HTML The term Dynamic HTML, often abbreviated as DHTML, refers to the technique of making Web pages dynamic by client-side scripting to manipulate the document content and presen- tation. Web pages can be made more lively, dynamic, or interactive by DHTML techniques. With DHTML you can prescribe actions triggered by browser events to make the page more lively and responsive. Such actions may alter the content and appearance of any parts of the page. The changes are fast and e±cient because they are made by the browser without having to network with any servers. Typically the client-side scripting is written in Javascript which is being standardized. Chapter 9 already introduced Javascript and basic techniques for making Web pages dynamic. Contrary to what the name may suggest, DHTML is not a markup language or a software tool. It is a technique to make dynamic Web pages via client-side programming. In the past, DHTML relies on browser/vendor speci¯c features to work. Making such pages work for all browsers requires much e®ort, testing, and unnecessarily long programs. Standardization e®orts at W3C and elsewhere are making it possible to write standard- based DHTML that work for all compliant browsers. Standard-based DHTML involves three aspects: 447 448 CHAPTER 10. DOCUMENT OBJECT MODEL AND DYNAMIC HTML Figure 10.1: DOM Compliant Browser Browser Javascript DOM API XHTML Document 1. Javascript|for cross-browser scripting (Chapter 9) 2. Cascading Style Sheets (CSS)|for style and presentation control (Chapter 6) 3. Document Object Model (DOM)|for a uniform programming interface to access and manipulate the Web page as a document When these three aspects are combined, you get the ability to program changes in Web pages in reaction to user or browser generated events, and therefore to make HTML pages more dynamic.
    [Show full text]