Skip to content

Commit b06be78

Browse files
committed
Move frame JS to file
1 parent f34b356 commit b06be78

File tree

3 files changed

+61
-66
lines changed

3 files changed

+61
-66
lines changed

frame.html

Lines changed: 1 addition & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -5,65 +5,9 @@
55
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
66
<meta content="utf-8" http-equiv="encoding">
77
<meta name="viewport" content="width=device-width, initial-scale=1.0">
8-
<link rel="stylesheet" href="css/style.css">
8+
<script src="js/frame.js"></script>
99
</head>
1010
<body>
1111
<main id="main"></main>
12-
<script type="text/javascript">
13-
(function() {
14-
function evalPureScript(sources) {
15-
var modules = {};
16-
function dirname(str) {
17-
var ix = str.lastIndexOf("/");
18-
return ix < 0 ? "" : str.slice(0, ix);
19-
}
20-
function resolvePath(a, b) {
21-
if (b[0] === "." && b[1] === "/") {
22-
return dirname(a) + b.slice(1);
23-
}
24-
if (b[0] === "." && b[1] === "." && b[2] === "/") {
25-
return dirname(dirname(a)) + b.slice(2);
26-
}
27-
return b;
28-
}
29-
return function load(name) {
30-
if (modules[name]) {
31-
return modules[name].exports;
32-
}
33-
function require(path) {
34-
return load(resolvePath(name, path));
35-
}
36-
var module = modules[name] = { exports: {} };
37-
new Function("module", "exports", "require", sources[name])(module, module.exports, require);
38-
return module.exports;
39-
};
40-
}
41-
42-
function loadScripts(scripts, cb) {
43-
if (scripts.length === 0) {
44-
return cb();
45-
}
46-
var script = document.createElement("script");
47-
script.type = "text/javascript";
48-
script.src = scripts[0];
49-
script.addEventListener("load", function() {
50-
loadScripts(scripts.slice(1), cb);
51-
}, { once: true });
52-
document.head.appendChild(script);
53-
}
54-
55-
document.addEventListener("DOMContentLoaded", function() {
56-
window.addEventListener("message", function(event) {
57-
loadScripts(event.data.scripts, function() {
58-
var file = evalPureScript(event.data.sources)("<file>");
59-
if (file.main && typeof file.main === "function") {
60-
file.main();
61-
}
62-
});
63-
event.source.postMessage("trypurescript", "*");
64-
}, { once: true });
65-
}, { once: true });
66-
})();
67-
</script>
6812
</body>
6913
</html>

js/frame.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
(function() {
2+
function evalPureScript(sources) {
3+
var modules = {};
4+
function dirname(str) {
5+
var ix = str.lastIndexOf("/");
6+
return ix < 0 ? "" : str.slice(0, ix);
7+
}
8+
function resolvePath(a, b) {
9+
if (b[0] === "." && b[1] === "/") {
10+
return dirname(a) + b.slice(1);
11+
}
12+
if (b[0] === "." && b[1] === "." && b[2] === "/") {
13+
return dirname(dirname(a)) + b.slice(2);
14+
}
15+
return b;
16+
}
17+
return function load(name) {
18+
if (modules[name]) {
19+
return modules[name].exports;
20+
}
21+
function require(path) {
22+
return load(resolvePath(name, path));
23+
}
24+
var module = modules[name] = { exports: {} };
25+
new Function("module", "exports", "require", sources[name])(module, module.exports, require);
26+
return module.exports;
27+
};
28+
}
29+
30+
function loadScripts(scripts, cb) {
31+
if (scripts.length === 0) {
32+
return cb();
33+
}
34+
var script = document.createElement("script");
35+
script.type = "text/javascript";
36+
script.src = scripts[0];
37+
script.addEventListener("load", function() {
38+
loadScripts(scripts.slice(1), cb);
39+
}, { once: true });
40+
document.head.appendChild(script);
41+
}
42+
43+
document.addEventListener("DOMContentLoaded", function() {
44+
window.addEventListener("message", function(event) {
45+
loadScripts(event.data.scripts, function() {
46+
var file = evalPureScript(event.data.sources)("<file>");
47+
if (file.main && typeof file.main === "function") {
48+
file.main();
49+
}
50+
});
51+
event.source.postMessage("trypurescript", "*");
52+
}, { once: true });
53+
}, { once: true });
54+
})();

js/index.js

Lines changed: 6 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)