Random Rain
ページ内のリンクをランダムに開くブックマークレット
初めて自分用に作ったブックマークレットです。名前は Random Rain —— 今開いているページに散らばったリンクのどれかを、ランダムにひとつ拾って開きます。リンクがひとつもなければ「リンクが見つかりません」と表示して終わります。
使い方
- 下のコードをブックマークレットとして登録する(ブックマークの URL に貼る、またはブックマークバーへドラッグ)
- リンクがたくさんあるページを開く
- ブックマークレットを実行する
保存記事一覧、まとめサイト、ニュースサイトなど、「どれを読もうか迷う」ときに向いています。
コード
ブックマークレット用(1行・そのまま登録用):
javascript:(function(){const links=Array.from(document.querySelectorAll('a')).map(a=>a.href).filter(h=>h&&h.startsWith('http'));if(links.length===0){alert('リンクが見つかりません');return;}const url=links[Math.floor(Math.random()*links.length)];window.open(url,'_blank');})();
読みやすくしたソース:
javascript:(function(){
const links = Array.from(document.querySelectorAll('a'))
.map(a => a.href)
.filter(h => h && h.startsWith('http'));
if (links.length === 0) {
alert('リンクが見つかりません');
return;
}
const url = links[Math.floor(Math.random() * links.length)];
window.open(url, '_blank');
})();
何をしているか
- 表示中のページから
<a>要素を集める httpで始まる URL だけに絞る- その中からひとつをランダムに選び、新しいタブで開く
メモ
- 同一ページ内のリンクだけが対象です(別ドメインへの外部リンクも含みます)
javascript:やmailto:などはhttpで始まらないため除外されます