4
<title>require.js: After Load</title>
5
<script type="text/javascript" src="doh/runner.js"></script>
6
<script type="text/javascript" src="doh/_browserRunner.js"></script>
7
<script type="text/javascript">
10
function goRequire() {
11
//Need a hack to trigger require.pageLoaded() for pre Firefox 3.6 browsers.
12
var ff = parseFloat(navigator.userAgent.split("Firefox/")[1]) || null;
19
domReady: "../../domReady/domReady"
22
["require", "simple", "domReady"],
23
function (require, simple, domReady) {
25
doh.is("blue", simple.color);
27
//Now test another script getting loaded will see
28
//document.readyState === "complete".
29
var s = document.createElement("script");
30
s.src = "afterloadreadystate.js";
38
function loadRequire() {
39
var readyRegExp = /complete|loaded/;
40
function onScriptLoad(evt) {
41
var node = evt.target || evt.srcElement;
42
if (evt.type === "load" || readyRegExp.test(node.readyState)) {
43
//Clean up script binding, otherwise, Opera in particular
44
//may trigger it again.
45
if (node.removeEventListener) {
46
node.removeEventListener("load", onScriptLoad, false);
49
node.detachEvent("onreadystatechange", onScriptLoad);
55
//Create script tag for require.js
56
s = document.createElement("script");
57
s.src = "../require.js";
60
//Set up load listener.
61
if (s.addEventListener) {
62
s.addEventListener("load", onScriptLoad, false);
65
s.attachEvent("onreadystatechange", onScriptLoad);
68
head = (document.getElementsByTagName("head")[0] ||
69
document.getElementsByTagName("html")[0]);
80
d = new doh.Deferred();
90
<body onload="loadRequire()">
91
<h1>require.js: After Load Test</h1>
92
<p>Tests adding require after the page loads, and tests that require.js patches
93
up document.readyState for Firefox less than 3.6.</p>
94
<p>Check console for messages</p>