generated at
scrapbox上でuserscriptでできること検証
ScrapJupyter
サクッとjs実行できるようになったのでなんかやってみよ

test.html
<html> <h1>hello</h1> </html>

js
const 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なので無理です
js
fetch('http://localhost:3000')

でもウインドウとしては開けるんだよな
js
w = window.open('http://localhost:3000', 'window1') console.log(w.document)

js
w = window.open('', 'window1') w.document.write(` <h1>hello<button onclick="console.log('hoge')">x</button></h1> `)
これもだめ
まあセキュリティ的に当然よな
インラインでやるのが怒られてるだけっぽい


a.js
console.log('hello a') const b = document.querySelector('#b') console.log(b) b.addEventListener('click', () => window.close())
js
w = 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.js
const 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.js
const html = w = window.open("", "window3") w.document.write(html)