Embedded Functionality in HTML...
= Index DOT Html by Brian Wilson [bloo@blooberry.com] =

Justification | Uses for Embedding
More about JavaScript | JavaScript Timelines
Related Sites
Main Index | Element Tree | Element Index | HTML Support History
Justification for Embedding Capabilities in HTML
HTML has developed quite a bit since its beginnings, but let's face it - HTML is only a language meant to attach semantic meaning and rendering cues to documents. In recent history, the scope and functionality of web pages has been extended far beyond the capabilities that mere HTML alone can produce. This has been accomplished by allowing programmatic capabilities and embedded objects in the context of the HTML page. HTML has control of the location, size, invocation and other properties of the objects, but their functionality is driven by other technology - Java applications, scripting functionality, Plug-ins and more.

Uses for Embedding Functionality
Java Applets
[ APPLET, OBJECT, PARAM ]
Java is a programming language (not a page formatting system like HTML) that has gained wide acceptance in Web applications. The APPLET element is the HTML interface used to invoke a Java Applet, and the PARAM element is used to pass parameter values to the Java application. The OBJECT element, although not listed under the 'Embedded Functionality' umbrella, also belongs here - one of its many functions is to absorb all of the functionality of the APPLET element.
Web Page Scripting
(JavaScript/JScript/ECMAScript/VBScript/Etc.)
[ SCRIPT, NOSCRIPT ]
Scripting languages allow web pages to become dynamic. Scripts allow programmatic logic and actions to be performed in response to events that occur when experiencing a web page. The SCRIPT element allows scripting statements to be included in an HTML Document structure. The NOSCRIPT element is an element used to mark a section of a document for display only in cases of SCRIPT element incompatibility/backward compatibility.
Browser Plug-Ins
[ EMBED, NOEMBED ]
The Plug-in technology created by Netscape allows media performance capacity to expand by leaps and bounds. Previously, browsers were limited by their inherent capabilities. Now, a browser can be extensible through the use of a "Plug-In" (usually third party) that allows it to recognize varying non-conventional technologies or media formats that are not actively supported by the browser without the Plug-in.
In-Line Frames
[ IFRAME ]
This is an extension to Netscape's frames concept (static document layout) by Microsoft. It allows other HTML documents to be placed in an HTML document the way one would place an HTML in-line image (IMG.) Coincidentally, this basic concept was the original intent of the EMBED element until Plug-ins were introduced.

More About JavaScript
JavaScript, originally known as LiveScript, was created by Netscape for its Navigator 2.0 version. Microsoft created its own version of JavaScript for Internet Explorer 3.0 called JScript (the name JavaScript is owned by Netscape.) Netscape's version of the language is still considered to be the definitive version, even though Microsoft's version greatly expands on the browser Document Object Model in a direction that is likely to be recommended by the W3C DOM group.

The term "Java" in JavaScript appears to be a marketing tie-in with Sun's Java programming language. And that is where the apparent similarities end - JavaScript is NOT a subset of Java:

JavaScript Java
  • A web scripting language developed by Netscape
  • Interpreted (not compiled) by client
  • Object-based. Code uses built-in, extensible objects, but no classes or inheritance
  • Code integrated with, and embedded in HTML
  • Variable data types not declared (loose typing)
  • Dynamic binding. Object references checked at run-time
  • Cannot (yet) automatically write to hard disk
  • A multi-platform programming language developed by Sun.
  • Compiles to byte-codes that are interpreted by a platform-independent "Virtual Machine"
  • Compiled on server before execution on client
  • Object-oriented. Applets consist of object classes with inheritance
  • Applets distinct from HTML (accessed from HTML pages)
  • Variable data types must be declared (strong typing)
  • Static binding. Object references must exist at compile-time
  • Cannot automatically write to hard disk
  • Theoretically secure
Javascript/VBScript Timelines and Standardization
The two main implementations of JavaScript continue to have many differences and incompatibilities. To ease this problem, several companies (including Microsoft and Netscape) have worked with ECMA to create an official accepted specification for the JavaScript language. Known as ECMA-262 or EcmaScript, this standard is now under consideration for standardization by the Industry Standards Organization (ISO) as well. EcmaScript most closely resembles (with a few variations) the version of JavaScript found in Netscape Navigator 3.0 (JavaScript 1.1.)

JavaScript      JScript/VBScript
JavaScript
Version
  Netscape
Shipping
Vehicle
JScript/
VBScript
Version
  Microsoft
Shipping
Vehicle
1.0Nav 2.0x 1.0IE 3.0x
1.1Nav 3.0x 2.0IIS 3.0
1.2Nav 4.0-4.05 3.0IE 4.0x/IIS 4.0
1.3Nav >= 4.06 5.0IE 5.0
ECMAScript Compliant:
JavaScript 1.3 & above; JScript 3.0 & above

Related Sites
Official References
http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1866.txt
RFC 1866: The HTML 2.0 specification (plain text)
http://www.w3.org/MarkUp/html-spec
The web version of the HTML 2.0 (RFC 1866) specification
http://www.w3.org/MarkUp/Wilbur/
The HTML 3.2 (Wilbur) recommendation
[This is the first inclusion of the APPLET element in an official spec. Scripting is also mentioned in passing.]
http://www.w3.org/TR/REC-html40/
The HTML 4.0 Recommendation
[Includes all 2.0, and 3.2 elements plus Script, Noscript and Iframe]
http://www.netscape.com/assist/net_sites/new_html3_prop.html#Embed
Embed: Netscape's "New HTML 3.0 proposals" page
http://java.sun.com
Java: Sun's official Java site.
http://www.ecma.ch/stand/ecma-262.htm
ECMA-262 (EcmaScript): Official specification.
http://developer.netscape.com/docs/manuals/javascript.html
JavaScript: Netscape's documentation for the JavaScript language.
http://www.microsoft.com/vbscript/us/techinfo/vbsdocs.htm
VBScript: Microsoft's official documentation for VBScript.
http://www.microsoft.com/workshop/author/html/reference/elements.htm
Internet Explorer 4.0 Tag reference
[Details Applet, Iframe, and Script (Embed is also mentioned, but they recommend OBJECT instead.)]


Tutorials
http://java.sun.com/docs/books/tutorial/
Java: Sun's Java Tutorial
http://www.disordered.org/Java-QA.html
Java: "Making Sense of Java"
http://rummelplatz.uni-mannheim.de/~skoch/js/script.htm
JavaScript: Introduction to JavaScript by Voodoo
http://www.inquiry.com/techtips/thevbpro/
VBScript: "Ask the VB Pro"
http://www.microsoft.com/vbscript/us/techinfo/VBsfaq.htm
VBScript: Microsoft's VBScript FAQ

Other Related Links
http://www.developer.com/directories/pages/dir.java.html/
Java and Javascript: Gamelan/Developer.com
[This site has a ton of resources, tutorials, examples, etc on Java, JavaScript AND VBScript.]
http://developer.netscape.com/docs/manuals/jsresource.html
JavaScript: Netscape list of JavaScript Resources
http://home.netscape.com/comprod/products/navigator/version_2.0/plugins/
Plug-ins: Netscape's list of Plug-ins.
http://browserwatch.internet.com/plug-in.html
Plug-ins: BrowserWatch's "Plug-In Plaza"

Boring Copyright Stuff...