Scrapboxをスプレッドシートのように使う
[% 式] という表記を利用する 増井俊之.icon
下のブックマークレットを呼ぶと式が計算される
式が変数名だけのときはその値が表示される
面白い発想ですねtakker.icon
応用して何かに使えないかな
a = 100
b = 200
a + b
Date()
ブックマークレットを呼ぶと以下のように表示される
https://gyazo.com/thumb/400/43be983bf4fa5f2108d7cebe019d8dc4.png
以下のブックマークレットを起動すると結果が表示される
UserScriptにしても大丈夫なのだろうか?
eval()が気になります
何でも実行できてしまう
最も、eval()を使う以外に方法がなさそうなので、目をつぶるしかなさそうです
前に実行したscriptの変数とscopeを共有しなくていいなら、Function()を代わりに使うことが出来ます Userscriptにするとしたら、どういうUIがいいかなtakker.icon
PageMenuを押して実行が一番便利かな
mobile端末からでも使える
popup menuなら、選択範囲だけ実行させることも可能
コードブロックじゃなくインラインなところが違うか
code:boomborg.js
javascript:(() => {
for(const expr of document.getElementsByClassName('deco-\%')){
const text = expr.innerText;
if(/=/.test(text)){
eval(decodeURI(text));
} else {
let processed = false;
for(let e of expr.children){
if(processed){
e.innerHTML = "";
continue;
}
e.innerHTML =
<span style="font-style:italic;font-weight:bold;">${eval(decodeURI(text))}</span>;
processed = true;
}
}
}
})()
'deco-\\='だと動かなかったので'deco-\='に変更yosider.icon
あれ? 私のとこではそれだと動かなくて... 増井俊之.icon
あれれ…Chromeなのですがyosider.icon
getElementsByClassName()じゃなかったからかな? 増井俊之.icon
document.querySelectorAll('.deco-\\=') としてた
おま環だろうけど、Firefoxでは動かなかった...air34n.icon UserScriptの方はどうですかね ? 増井俊之.icon
UserScriptの方は動きましたair34n.icon
それはよかた 増井俊之.icon