読者です 読者をやめる 読者になる 読者になる

はてなブックマークのエントリーページでユーザーIDのリンク先を変更するスクリプト

昨日書いた記事が、ブログを開設してから初めて2ケタブックマーク、ツイート等されまして、 はてブのトップページやテクノロジーのカテゴリに載ることができました。ありがとうございます。

はてなブログの読者(URL)を一覧表示するスクリプト - Sprint Life

今回の記事もやってることはほぼ同じなんですが。

はてブのエントリーページには、ブックマークした人のユーザーIDが表示されますが、 リンク先は各ユーザーのブックマークページです。

f:id:splicom:20140503210822j:plain

ユーザーのブックマークページじゃなくて、プロフィールやブログなど、他のはてなのサービスを見たい場合、 リンクをたどるのが意外と面倒なので、いっそのことユーザー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"; + '/';}})();

こんな感じで表示されます。

f:id:splicom:20140503210836j:plain

人気コメント、新着コメント、すべてのブックマーク、どのタブを表示していても そのページをブックマークしたすべてのユーザー(非公開を除く)が処理の対象です。

URLの部分(hatena.ne.jpの前)を変更すれば、リンク先をはてなの別のサービスにすることが可能です。 ただし、ユーザーによってはサービスを利用していない場合もあります。以下に一例を。

各ブラウザでのスクリプトの実行方法等は以下の記事を参照してください。

はてなブログで「購読中のブログ」の一覧を表示するスクリプト - Sprint Life

Chromeでユーザースクリプトとして登録したかったんですが、「ここにドロップすると、インストールされます」 って表示は出るものの、なぜかファイルの中身が表示されてしまって登録できませんでした。 ウェブストア以外のものは完全に受けつけなくなったんでしょうか。

ブックマークした人がブログをやってたらブログをリンク先にするとか、設定項目としてあっても面白いのかなと思います。

(この記事を書くのにかかった時間は約2時間です)