This is a simplified implementation of HTML5 Parsing Algorithm. It only implements script-related part of the algorithm. Especially, this parser:
DOCTYPE
and comment tokens.
"
,
'
, and &
in script
src
attribute value.
title
and
textarea
).
pre
elements.
<!--
..-->
parsing rule
in script
element.
script
type
text/javascript
. type
and language
attributes are ignored.
document.write ("string", ["string", ...]);
.
var s = document.createElement ("script");
s.src = "string";
document.documentElement.appendChild (s);
'
s instead of
"
s.
javascript:
URI scheme in the
src
attribute of the script
element. In addition,
the URI must be conform to
the regular expression ^javascript:\s*(?:"[^"]*"|'[^']*')\s*$
.
\uHHHH
escapes in JavaScript
string literals.
document.open ()
call. In other word, delayed
(deferred or asynchronous) script executions and event firings might be
treated in a wrong way if a document.open ()
invocation
is implicitly done by document.write ()
in a delayed script.
For some reason, this parser does not work in browsers that do not support JavaScript 1.5.