Client-Side Scripts

Embedding JavaScript in HTML

<script [language="Javascript[version]"] [src="path/filename.js"] [type="text/javascript"]>...</script>
<noscript> ... </noscript>   <!-- For browsers that don't support JavaScript -->
  • Put the scripts within the <head> tag, so that they're loaded before the body of the document.
  • External JavaScript files cannot contain any HTML tags: they must contain only JavaScript statements and function definitions.
  • External JavaScript files should have the filename suffix .js
<head>
<script type="text/javascript">
<!-- Hide the script from old browsers

statements;

//-->
</script>
</head>
  • Using <!-- ... //--> to support older browsers is no longer essential; supposedly, it may prevent the code from being read in some newer XML-compatible browsers (have not seen this happen)
  • Can add a JavaScript script tag to the very beginning of a web page (prior to the <html>, doctype, and xml declaration), if needed for debugging

Identifying the browser family

var ns = (navigator.appName == "Netscape");
var ie = (navigator.appName == "Microsoft Internet Explorer");

var safari = (navigator.userAgent.indexOf("Safari") != -1);
var opera = (navigator.userAgent.indexOf('Opera') != -1);

var macFirefox = ((navigator.userAgent.indexOf("Firefox") != -1) && (navigator.userAgent.indexOf('Mac') != -1));

Identifying the browser version

var version = parseFloat(navigator.appVersion);
var majorVersion = parseInt(navigator.appVersion);

var ie4 = (document.all ? 1 : 0);
var ns4 = (document.layers ? 1 : 0);