HTML scripting

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

The W3C HTML standard includes support for client-side scripting. It defines how locally executable scripts may be used in a web page. A particular client-side application, such as a web browser, may support several script languages. Script code may be executed as the document loads or at a later time.

Script code can be written directly in the HTML document inside:

  • SCRIPT elements
  • Intrinsic event attributes

Script macros

The SCRIPT element type

SCRIPT elements may occur zero or more times within the HEAD and BODY elements. Scripts within script elements are processed as the document loads.

Intrinsic event attributes

Events occur for different elements of a web-page:

  • Documents (BODY and FRAMESET)
  • Forms
  • UI elements (Anchor, Control Element, Image)

Script code may be associated with an event and element by writing code in an HTML attribute. The name of the attribute must be that of a supported intrinsic event for the element (for example, "onLoad"). The script is executed whenever the event occurs for that element. These scripts are mostly JavaScript. The HTML intrinsic event model consist of the following events:[1]

  • Document
    • onUnload
  • Form
    • onSubmit
    • onReset
  • Document and UI elements
    • Focus
      • onFocus
      • onBlur
  • UI elements
    • Mouse
      • Movement
        • onMouseOver
        • onMouseOut
        • onMouseMove
      • Button
        • onClick
        • onDblClick
        • onMouseDown
        • onMouseUp
    • Keyboard
      • onKeyPress
      • onKeyDown
      • onKeyUp
    • Other (TEXT/TEXTAREA)
      • Lost focus with modified content
        • onChange (also OPTION)
      • Text selection
        • onSelect

Some browsers support additional event attributes (outside the standard), such as:

  • onResize
  • onMove
  • onScroll
  • onAbort

Script macros

Netscape Navigator supported a feature called "JavaScript entities" or "script macros" by which script code could be included in HTML attribute values, using a syntax similar to that of character entity references. For example, the code <img width="&{prompt('Width?')};" src="foo.jpg"> calls the JavaScript prompt() function to ask the user how wide the image should be.[2]

The HTML 4.01 specification reserves a syntax for the "future support of script macros" in HTML attributes, but they have not been incorporated into later standards and are not supported by any current browser.


  1. "Scripts in HTML documents". W3C. Retrieved 21 August 2012.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  2. David Flanagan (19 November 2001). JavaScript: The Definitive Guide: The Definitive Guide, 4th Edition. O'Reilly Media, Inc. pp. 192–. ISBN 978-0-596-00048-6. Retrieved 21 August 2012.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>