Including 'script' Tags in String Literals

This section provides a tutorial example showing the issue of including 'script' tags in string literals in HTML document.

As we learned from the previous section, JavaScript codes must be included in "script" tags in HTML documents like: <script ...> JavaScript code </script>. This put an extra restriction on the JavaScript code:

Never include </script> directly any where in your JavaScript code.

If you use </script> directly in your JavaScript code, it will cause the Web browser or server to end your JavaScript code prematurely and cause execution errors. Here is a tutorial example of including </script> directly:

<html>
<!-- Escape_Script_Tag.html
   Copyright (c) 2002 HerongYang.com. All Rights Reserved.
-->
<head><title>Escaping Script Tags</title></head>
<body><pre>
<script type="text/javascript">
   document.writeln("Question: How to use the <script> tag?");
   document.writeln("Answer: <script>...Script Code...</script>");
   document.writeln("Rate this answer: 1 | 2 | 3 | 4 | 5");
</script>
</pre></body>
</html>

If you run this example script in a browser, you will get:

");
   document.writeln("Rate this answer: 1 | 2 | 3 | 4 | 5");

Surprised? Not really. Here is what happened when the browser processes this HTML document:

See the next section on how to fix this problem.

Table of Contents

 About This Book

 Introduction to JavaScript

 ECMAScript Language Specification and JavaScript Dialects

 Data Types, Variables and Expressions

 Flow Control Statements

 Creating, Accessing, and Manipulating Arrays

 Defining and Calling Functions

Web Browser Supporting JavaScript

 JavaScript Support in Web Browsers

 Including JavaScript Codes with HTML "script" Tags

 type="text/javascript" or language="JavaScript"

 JavaScript Version Supported by Browsers

Including 'script' Tags in String Literals

 Escaping 'script' Tags in String Literals

 Using HTML Entities to Protect HTML Tags

 Including JavaScript Codes as External Files

 DOM API - The "document" Object

 DOM API - The "window" Object

 DOM API - The "window.open" Method

 Event Listeners and Objects

 'javascript:' Pseudo-URL Addresses

 JavaScript Console in Google Chrome

 JavaScript Console in Mozilla Firefox

 JavaScript Console in Apple Safari

 JavaScript Console in IE (Internet Explorer)

 Server-Side and Client-Side Web Scripting

 Introduction to Objects

 Defining Your Own Object Types

 Inheritance of Properties and Methods through the Prototype Object Chain

 'jrunscript' - JavaScript Shell Command from JDK

 Using Functions as "Function" Objects

 Introduction to Built-in Object Types

 W3C's Document Object Model (DOM) Specifications

 AJAX (Asynchronous JavaScript And XML)

 References

 Full Version in PDF/EPUB