ブックマークレットとかで、設定を先頭に書けるようにする
設定を分離するために
javascript:(function (url) {
// hoge
})("http://example.com");みたいにしたりするけど、最後に書くのがちょっとだるい。ので、次のようなのを考えてみた。
javascript:"http://example.com".replace(/.+/, function (url) {
// hoge
});void("fumino");ちょっと長くなるのでぎりぎりの場合はつかえないけど、設定が前にでてくるので書きかえやすい。スクリプト要素追加系だと、中身は共通なのでこっちのほうが新しくブックマークレットつくりやすい (ささいな手間といえばそうだけれど)
これを使うとスクリプト追加系は以下のように
javascript:"url".replace(/.+/,function(url,s){s=document.createElement("script");s.charset="utf-8";s.src=url;document.body.appendChild(s)});void("san");
javascript:"url".replace(/.+/, function(url, s) {
s = document.createElement("script");
s.charset = "utf-8";
s.src = url;
document.body.appendChild(s)
});void("moe");わりとどうでもいいけど
var s=...と書くかわりに、仮引数を使うことでなんか気持悪いスペースを消してみてる。
複数の引数をとりたいときも同じように書ける。ただしデータの変換は関数内部でやることになるし、パースも自分で正規表現を書くことになる。でもたいしたこと書かないから問題ないとおもう。
"2222 81".replace(/(\d+) (\d+)/, function(_, a, b) { alert(Number(a)+Number(b)) });void("二次元にいきたい");