昨日書いた記事が、ブログを開設してから初めて2ケタブックマーク、ツイート等されまして、 はてブのトップページやテクノロジーのカテゴリに載ることができました。ありがとうございます。
はてなブログの読者(URL)を一覧表示するスクリプト - Sprint Life
今回の記事もやってることはほぼ同じなんですが。
はてブのエントリーページには、ブックマークした人のユーザーIDが表示されますが、 リンク先は各ユーザーのブックマークページです。
ユーザーのブックマークページじゃなくて、プロフィールやブログなど、他のはてなのサービスを見たい場合、 リンクをたどるのが意外と面倒なので、いっそのことユーザーIDのリンク先を変更してしまおうと。
エントリーページで以下のスクリプトを実行すると、リンク先がプロフィールに変更されます。
2014/05/05 22:04 追記
ブックマークレットを書きました。どこかのページをブックマークとして保存して、 URLを変更すれば実行できます。
var users = document.querySelectorAll("a.username"); var count = users.length; for(var i=0; i<count; i++) { users[i].href = "http://profile.hatena.ne.jp/" + users[i].text + "/"; }
ブックマークレット
javascript:(function(){var users = document.querySelectorAll('a.username'); var count = users.length; for(var i=0; i<count; i++) {users[i].href = 'http://profile.hatena.ne.jp/' + users[i].text + '/';}})();
前回の記事のように、テキストエリアを追加してURLを抽出する場合は以下の通りです。
var textarea = document.createElement("textarea"); textarea.cols = 50; textarea.rows = 10; var bookmarks = document.getElementById("bookmarks"); bookmarks.insertBefore(textarea,bookmarks.firstChild); var users = document.querySelectorAll("a.username"); var count = users.length; for(var i=0; i<count; i++) { textarea.value += "http://profile.hatena.ne.jp/" + users[i].text + "/\n"; }
ブックマークレット
javascript:(function(){var textarea = document.createElement("textarea"); textarea.cols = 50; textarea.rows = 10; var bookmarks = document.getElementById("bookmarks"); bookmarks.insertBefore(textarea,bookmarks.firstChild); var users = document.querySelectorAll('a.username'); var count = users.length; for(var i=0; i<count; i++) {textarea.value += "http://profile.hatena.ne.jp/" + users[i].text + "/\n"; + '/';}})();
こんな感じで表示されます。
人気コメント、新着コメント、すべてのブックマーク、どのタブを表示していても そのページをブックマークしたすべてのユーザー(非公開を除く)が処理の対象です。
URLの部分(hatena.ne.jpの前)を変更すれば、リンク先をはてなの別のサービスにすることが可能です。 ただし、ユーザーによってはサービスを利用していない場合もあります。以下に一例を。
- はてなブックマーク: http://b.hatena.ne.jp/
- はてなブログ: http://blog.hatena.ne.jp/
- はてなダイアリー: http://d.hatena.ne.jp/
- はてなスター: http://s.hatena.ne.jp/
各ブラウザでのスクリプトの実行方法等は以下の記事を参照してください。
はてなブログで「購読中のブログ」の一覧を表示するスクリプト - Sprint Life
Chromeでユーザースクリプトとして登録したかったんですが、「ここにドロップすると、インストールされます」 って表示は出るものの、なぜかファイルの中身が表示されてしまって登録できませんでした。 ウェブストア以外のものは完全に受けつけなくなったんでしょうか。
ブックマークした人がブログをやってたらブログをリンク先にするとか、設定項目としてあっても面白いのかなと思います。
(この記事を書くのにかかった時間は約2時間です)