⇒バージョンアップ版できました。
フローティングウィンドウ化した Social Bookmark Viewer Ver3.0
私は Sleipnir 使いなのですが、最近はてなブックマークを使い始めたので、以下の SeaHorse スクリプトを導入。はてなブックマークの情報がページの下に出てくる。
kaz::hatena - Sleipnir+SeaHorseで全サイトはてブ化v3
ところがこちらのコメント欄で報告があるとおり、特定のページで「サーバーが見つかりません」と言うエラーが出るようです。というか実際にガンガン出てきましたので修正版を作りました。とりあえず、数日いじって「サーバーが見つかりません」エラーが全く出なくなったので、公開しておきます。
どうもJapanizeでも同じ現象が発生しているようでしたので、修正方法をさくっといただきました。もう数年前にスキルが消えうせたのでほぼコピーです。
// ==UserScript==
// @name Hatena Bookmark Comments Viewer for Sleipnir+SeaHorse Plus
// @author sasuket
// @namespace http://sasuket.blog7.fc2.com/
// @description Show Hatena Bookmark's comments at the bottom of your browser.
// @include http://*
// ==/UserScript==
function hbcv_callbackfunc(obj)
{
var max_comment_num = 30;
var show_tag_only = false;
function getDate(date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
if (m < 10) m = "0" + m;
if (d < 10) d = "0" + d;
return y + "/" + m + "/" + d;
}
if(obj && obj.count>0)
{
var bm=obj.bookmarks;
var hbm_cmt = document.getElementById('hbm_cmt');
hbm_cmt.innerHTML = "<a href=\"http://b.hatena.ne.jp/entry/" + escape(document.location.href) + "\" style=\"color: red; font-weight: bold; text-decoration: underline; background-color: #ffcccc\">" + obj.count + "user" + (obj.count>1 ? "s" : "") + "</a> | <a href=\"javascript:void(0);\" style=\"color: blue; text-decoration: underline;\" onClick=\"javascript:document.getElementById('hbm_cmt').style.display='none',void(0);\">CLOSE</a><br/><br/>";
for(i=0;i<bm.length;i++)
{
if(bm[i].comment || (show_tag_only && bm[i].tags.length>0))
{
var name = bm[i].user;
var date = getDate(new Date(bm[i].timestamp));
hbm_cmt.innerHTML += "<span style=\"color: black;\">" + date + "</span> <img src=\"http://www.hatena.ne.jp/users/" + name.substring(0,2) + "/" + name + "/profile_s.gif\"> <span style=\"color: blue;\">" + name + "</span> <span class=\"tags\" style=\"color: gray;\">" + bm[i].tags.join(',') + "</span> <span style=\"color: black;\">" + bm[i].comment + '</span><br/>';
}
if (i==max_comment_num) { break; }
}
}
}
(
function (c) { //Add
var is_called;
if (document != null && is_called != true && self.location.href==top.location.href)
{
is_called = true;
//ADD Start
if (document.readyState != 'complete') {
if (c < 8000) {
var f = arguments.callee;
c *= 2;
setTimeout(function () { f(c); }, c);
}
return;
}
//ADD End
if (self.location.href==top.location.href)
{
var div = document.createElement('div');
div.id = "hbm_cmt";
var is_done = document.getElementById("hbm_cmt"); //Add
if (is_done != null) { return; } //Add
div.innerHTML = "<a href=\"javascript:void(0);\" style=\"color: blue; text-decoration: underline;\" onClick=\"javascript:document.getElementById('hbm_cmt').style.display='none',void(0);\">CLOSE</a><br/><br/>";
div.style.cssText = "width: 90%; background-color: #f0f0f0; border: solid 1px #cccccc; margin: 5px; padding: 5px; text-align: left;";
document.body.appendChild(div);
var uri = top.location.href;
script = document.createElement('script');
script.src = 'http://b.hatena.ne.jp/entry/json/?callback=hbcv_callbackfunc&url=' + escape(uri);
document.body.appendChild(script);
}
}
})(100); //ADD
JavaScript 触るのなんて数年ぶりですよ。DOMがぼちぼち出てきた頃以来なので内容読むだけなのに戸惑う戸惑う。リファレンスくらい買いなおそうかな…(´・ω・`)
この記事へのコメント
はじめまして。
「“Sleipnir+SeaHorseで全サイトはてブ化”をできるようにした」
を使わせていただきました。
今まで、特定のページで「サーバーが見つかりません」が出ていたのですが、おかげさまで、出なくなりました。
これで、快適に全サイトはてブが楽しめます(つд`)
ありがとう・・・
ところで、これってどういう対策をされているのでしょうか?
Seahorse作るときに、引っかかるかもしれないのですが、Javascirpt関係は疎くて・・・
「“Sleipnir+SeaHorseで全サイトはてブ化”をできるようにした」
を使わせていただきました。
今まで、特定のページで「サーバーが見つかりません」が出ていたのですが、おかげさまで、出なくなりました。
これで、快適に全サイトはてブが楽しめます(つд`)
ありがとう・・・
ところで、これってどういう対策をされているのでしょうか?
Seahorse作るときに、引っかかるかもしれないのですが、Javascirpt関係は疎くて・・・
>TOBY さん
私も人の受け売り(Japanize)なのですが、変更内容を簡単に言えば、ページを全部読み込むまで待ってから、本処理に入るようにしています。
Add とかコメントしている部分がそうです。
そのうち時間があったらページによって変な位置に表示されて見にくなるのを直したいなあ。
javascript じゃなくて CSS の知識になってくるんでしょうが。
私も人の受け売り(Japanize)なのですが、変更内容を簡単に言えば、ページを全部読み込むまで待ってから、本処理に入るようにしています。
Add とかコメントしている部分がそうです。
そのうち時間があったらページによって変な位置に表示されて見にくなるのを直したいなあ。
javascript じゃなくて CSS の知識になってくるんでしょうが。
はじめまして
Social Bookmark Viewerをいつも使わせていただいております。
一つ質問したいのですがこのスクリプトでは適用除外URLの指定とか
できないのでしょうか?
方法があるならお教え下さい
自分のサイトなどのブックマークコメントは
身勝手ながらもなるたけ見たくないもので・・・
Social Bookmark Viewerをいつも使わせていただいております。
一つ質問したいのですがこのスクリプトでは適用除外URLの指定とか
できないのでしょうか?
方法があるならお教え下さい
自分のサイトなどのブックマークコメントは
身勝手ながらもなるたけ見たくないもので・・・
2007/09/24(月) 18:29:52 | URL | えいじ #-[ 編集]
それはseahorseの標準機能でいけますよ。
// @include http://*
の次の行(どこでもいいけど)に
// @exclude http://www.example.com/*
のように貴方のサイトを指定してください。
余談ですが、Japanize(翻訳スクリプト)をONにしているとGoogleリーダーがバグ?るため
// @exclude http://www.google.*/reader/*
と追記してGoogleリーダーでJapanize が動かないようにしてます。
// @include http://*
の次の行(どこでもいいけど)に
// @exclude http://www.example.com/*
のように貴方のサイトを指定してください。
余談ですが、Japanize(翻訳スクリプト)をONにしているとGoogleリーダーがバグ?るため
// @exclude http://www.google.*/reader/*
と追記してGoogleリーダーでJapanize が動かないようにしてます。
2007/09/26(水) 23:49:46 | URL | サスケット #UywJPozU[ 編集]
早速出来ました
これで今までの憂鬱から解放されそうです。
複数のサイトも指定でき
他スクリプトにも応用出来大変勉強になりました。
本当にありがとうございました
これで今までの憂鬱から解放されそうです。
複数のサイトも指定でき
他スクリプトにも応用出来大変勉強になりました。
本当にありがとうございました
2007/09/27(木) 15:13:45 | URL | えいじ #xyyekUkk[ 編集]
この記事のトラックバックURL
この記事へのトラックバック
サスケット さんの↓こちらに触発されて、作ってみました。ひたすら無題 Ver2.0 | “Sleipnir+SeaHorseで全サイトはてブ化”をできるようにした私は Sleipnir 使いなのですが、最近はてなブックマークを使い始め
2007/03/02(金) 00:00:56 | シム宇宙の内側にて
