pywebio.js 844 B

12345678910111213141516171819202122232425262728
  1. const DEMO_URL = 'http://pywebio-demos.wangweimin.site/?pywebio_api=doc_demo';
  2. var parseHTML = function (str) {
  3. let tmp = document.implementation.createHTMLDocument();
  4. tmp.body.innerHTML = str;
  5. return tmp.body.children;
  6. };
  7. function ready(fn) {
  8. if (document.readyState != 'loading') {
  9. fn();
  10. } else {
  11. document.addEventListener('DOMContentLoaded', fn);
  12. }
  13. }
  14. let demo_url = new URL(DEMO_URL);
  15. ready(function () {
  16. let codes = document.querySelectorAll('.demo-cb');
  17. for (let c of codes) {
  18. let id = c.getAttribute('id');
  19. let ele = c.querySelector('.highlight > pre');
  20. demo_url.searchParams.set("app", id);
  21. let node = parseHTML(`<a class="viewcode-back" href="${demo_url.href}" target="_blank">[Demo]</a>`)[0];
  22. ele.insertBefore(node, ele.firstChild);
  23. }
  24. });