scrapbox上でuserscriptでできること検証
ScrapJupyter
サクッとjs実行できるようになったのでなんかやってみよ
jsconst url = `/api/code/miyamonz/scrapbox上でuserscriptでできること検証/test.html`
const w = window.open("","window1","width=500,height=500");
fetch(url)
.then(res => res.text())
.then( html => w.document.write(html) )
動いた
scrapbox上でhtmlファイル用意して、それを別ウインドウに表示ができることが分かった
どう使えばいいんだ?
なんらかのビジュアライザを別窓で表示する?
こういうことはconnect-src self i.gyazo.comなので無理です
jsfetch('http://localhost:3000')
でもウインドウとしては開けるんだよな
jsw = window.open('http://localhost:3000', 'window1')
console.log(w.document)
jsw = window.open('', 'window1')
w.document.write(`
<h1>hello<button onclick="console.log('hoge')">x</button></h1>
`)
これもだめ
まあセキュリティ的に当然よな
インラインでやるのが怒られてるだけっぽい
a.jsconsole.log('hello a')
const b = document.querySelector('#b')
console.log(b)
b.addEventListener('click', () => window.close())
jsw = window.open('', 'window2')
w.document.write(`
<h1>hello<button id="b">x</button></h1>
<script src="/api/code/miyamonz/scrapbox%E4%B8%8A%E3%81%A7userscript%E3%81%A7%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8%E6%A4%9C%E8%A8%BC/a.js"></script>
`)
これは動くな
map.jsconst html = `
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d207446.24819652562!2d139.6007842640055!3d35.66844146191365!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188b857628235d%3A0xcdd8aef709a2b520!2sTokyo!5e0!3m2!1sen!2sjp!4v1615364742462!5m2!1sen!2sjp" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
`
w = window.open("", "window3")
w.document.write(html)
埋め込みできる
これはgoogle mapだからできるだけ
map.html<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d207446.24819652562!2d139.6007842640055!3d35.66844146191365!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188b857628235d%3A0xcdd8aef709a2b520!2sTokyo!5e0!3m2!1sen!2sjp!4v1615364742462!5m2!1sen!2sjp" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
map.jsconst html =
w = window.open("", "window3")
w.document.write(html)