summaryrefslogtreecommitdiff
path: root/workbench_template.ts
diff options
context:
space:
mode:
Diffstat (limited to 'workbench_template.ts')
-rw-r--r--workbench_template.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/workbench_template.ts b/workbench_template.ts
index 9577787..35376d1 100644
--- a/workbench_template.ts
+++ b/workbench_template.ts
@@ -1,5 +1,12 @@
var socket = (function(){
var open = false
+ var shadowBody = null
+ window.onload = function(){
+ console.log("Loaded!")
+ shadowBody = document.body.cloneNode()
+ console.log("Loaded!X")
+ }
+
var start = function(){
socket = new WebSocket("ws://<host>:<port>/")
socket.onopen = function(event){
@@ -8,10 +15,33 @@ var socket = (function(){
}
socket.onmessage = function(event){
var data = JSON.parse(event.data)
+
if (data[0] == "reload") {
console.log("Reloading page...")
location.reload()
}
+ if (data[0] == "clear"){
+ document.body = shadowBody.cloneNode()
+ for(var i = 0; i < 99999; i++){
+ clearTimeout(i)
+ clearInterval(i)
+ }
+ }
+ if (data[0] == "run"){
+ var tag = document.createElement("script")
+ var loaded = false
+ tag.setAttribute("src", data[1])
+ if (data[2]){
+ tag.onreadystatechange = tag.onload = function() {
+ if (!loaded) eval(data[2]);
+ loaded = true;
+ };
+ }
+ document.head.appendChild(tag)
+ }
+ if (data[0] == "eval"){
+ eval(data[1])
+ }
if (data[0] == "print") console[data[1]](data[2])
}
socket.onclose = function(event){