ちょっとしたブラウザ操作を自動化したいな〜〜というときにブックマークレットをよく使うのでここで簡単に紹介。
見ているページをMarkdownでコピー
これだけめちゃくちゃ使ってる。GitHubに貼り付けるとき、Slackに投稿するとき、Wiki的なものに書くとき、あらゆるときに使ってる。
prompt('', `[${document.title.replace(/\[/g,'\[').replace(/\]/g, '\]')}](${document.URL.replace(/\(/g, '\\(').replace(/\)/g, '\\)')})`)
promptの2番目に入れるとデフォルト値になって、フォーカスがついた状態になり、そのままコピーできて便利。
見ているページをツイートする
window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(`>> ${document.title} ${location.href}`)}`)
見ているページをSlackのIncomingWebhookに送る
(()=> {let comment = prompt();comment += comment.length === 0 ? "" : "\n";fetch("https://hooks.slack.com/services/.......", {method:"POST", headers:{"Content-Type": "application/json"}, body:JSON.stringify({text:`${comment}`}), mode:"no-cors"});})()
SlackのIncomin Webhookを事前に登録しておく必要がある。最近使ってない。
ランダムな文字列を作る
(()=>{let t='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&()-=^~\\|@[{]};+:*,<.>/?_'.split(""),l="";for(let e=0;e<16;e++)l+=t[~~(Math.random()*t.length)];prompt("", l)})();
パスワード的なものにも使えるけれど、それは素直にパスワードジェネレータを使おう。
見ているページと関連が深いページを開く
window.open(`${location.href.replace('gomiba.co', 'github.com/......../edit/master/').replace(/\/$/,'')}/index.md`)
この例だと gomiba.co の見ているページから、GitHubの編集ページを開くことができる。
他にもたとえば見ているページを操作できる管理画面を開くとか。その逆とか。定義次第なのでいろいろできる。