Remote web console.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

script.js 961B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. let el = {
  2. console: document.querySelector("#console"),
  3. state: document.querySelector("#state"),
  4. targetScript: document.querySelector("#target-script"),
  5. inputForm: document.querySelector("#input-form"),
  6. input: document.querySelector("#input"),
  7. };
  8. let id = location.href.split("?")[1];
  9. let conn = new Conn(id);
  10. function print(msg) {
  11. el.console.innerText = msg + "\n" + el.console.innerText;
  12. }
  13. conn.onstatechange = state => {
  14. el.state.innerText = state;
  15. if (state == "Ready")
  16. el.input.disabled = "";
  17. else
  18. el.input.disabled = "disabled";
  19. }
  20. conn.onjsresult = (err, res) => {
  21. if (err)
  22. print("Error: "+err);
  23. else
  24. print(res);
  25. };
  26. conn.onlog = log => {
  27. print(log);
  28. }
  29. el.targetScript.innerText =
  30. `<script src='${location.protocol}//${location.host}/target.js?${id}'></script>`;
  31. el.inputForm.addEventListener("submit", evt => {
  32. evt.preventDefault();
  33. conn.runJavascript(el.input.value);
  34. print("> "+el.input.value);
  35. el.input.value = "";
  36. });