tittle Apple Store(Japan)

The Latest Pop News & More Opera, Firefox, Sleipnir ( Custom & Tips, Latest News, My Opinions, Lovely Music & Movies and so on ...?! No ! More & More !! )

 No. 582 エントリー 2008/01/25(金) 01:48:14

[共通 7] [Script3] はてなブックマークでニコニコ動画のサムネイル(埋め込み)を表示するスクリプト この記事をはてなブックマークに登録 この記事を livedoor クリップに登録 この記事の livedoor クリップ数

前回のブックマークレットをスクリプトにしただけです。
[Bookmarklet 8] Youtubeやニコニコ動画へのリンクを埋め込み型に変換するブックマークレット

前回はブックマークレットで作ったけど、みんなはブックマークレットよりスクリプトの方がいいようですね。あまりブックマークレットは人気がないみたい。

ブックマークレットはブックマークレットでいいところがあると思うのだけどな。

(続きはこちら)




まず、どんな感じかというと、こんな感じ。

Nico2 in Hatena


※どこぞの公開されている「はてなブックマーク」を開いたところ(許可はとってあります)

要するに、ニコニコ動画をブックマークして、そのページを開いたら埋め込み型に変換してくれるというわけですね。ただのテキストリンクよりは数倍いいと思います(サムネイルよりもいいよね)。

□スクリプト:Nico2 embeded converter in Hatena.user.js
※FC2ブログの仕様上、jsになっているので、ファイル名を”Nico2 embeded converter in Hatena.user.js”に直してください。ごめんなさい。
※Greasemonkey、OperaのUser.jsで動きます。

※下記[追記]参照

まあ、これはソースを見てもらえば分かるのですが、実は、これは「はてなブックマーク」だけじゃなくて、すべてのページで実行可能なものです。ただ、今回はあえて、はてなブックマークに限定しています。

ページのソース

// ==UserScript==
// @name Nico2 "embeded" converter in Hatena
// @author Xenophias supported by Puyo2
// @version 1.0
// @published 2008-01-25
// @description Converted into the "embeded" link in Hatena
// @namespace http://browserjs.blog102.fc2.com/blog-entry-582.html
// @include http://b.hatena.ne.jp/*
// ==/UserScript==


(function(){
var d=document;
var a=d.getElementsByTagName('a');

for(var i=0;i<a.length;i++){

if(/^http:\/\/www\.nicovideo\.jp\/watch/.test(a[i].href)){
var href="http://www.nicovideo.jp/watch/"+a[i].href.match(/sm\d+$/);

var href="http://www.nicovideo.jp/thumb/"+a[i].href.match(/sm\d+$/);

a[i].innerHTML=a[i].innerHTML+"<p></p>"+"<iframe width=312 height=176 src="+href+" scrolling=no style=border:solid 1px #CCC;frameborder=0>"+"<a href=http://www.nicovideo.jp/watch/"+href+"></a>"+a[i].innerHTML+"</iframe>"+"<p></p>";
}
}
})()


その理由は簡単で、私が改造に失敗したからです(笑)。
つまり、このスクリプトは、見ての通り、「http://www.nicovideo.jp/watch/」で動作しますが、<a>リンクは何もニコニコ動画へ直接リンクするものだけではなくて、例えば、はてなブックマークにリンクしたり(例えば、http://b.hatena.ne.jp/ユーザー名/?url=http%3A%2F%2Fwww.nicovideo.jp%2F〜とか)、他にもいろいろとリンクする場所はあるわけで、不幸にもそういうリンクに出会った場合、当然そういうリンクにも反応してしまい、埋め込み型が2つとかできる場合が存在します。つまり、他のサイトで使うと不都合がある場合もあるかもしれないから一般用にはできないというわけですね。

まあ、del.icio.usなんかは単純なので、実はこれでもいけたりしますが、できればこの限定は外したいですよね。

というわけで、既に<embed>されたものは無視するというスクリプトを作ろうとして、いろいろと試行錯誤したのですが、これがなかなか上手くいかない。

要素をとってきて、
var embed=d.getElementsByTagName('embed');

こんな感じで、
if(/http:\/\/www\.nicovideo\.jp\/watch/.test(embed[j].src)){
var src="http://www.nicovideo.jp/watch/"+embed[j].src.match(/sm\d+$/);

srcの値をゴニョゴニョしてもどうも上手くいかないのです。
(書いている途中で、むしろ、ニコ動のリンクの正規表現を変えればいい気もしてきた)

まあ、ぶっちゃけていえば、もう何時間も試行錯誤して、苛立ちも限界にきたので、暫定的に公開してみたというわけです(ストレスも限界)。

これは要するに、とどのつまり私の能力不足なのですが(笑)、初心者ならこんなもんでしょう。(初心者をたてに逃げる私)

さて、そろそろ、本でも買ってくるか。
(お薦めの本ってある?)


※まあ、そういうリンクのあるサイトはそうないので、これの改訂版が出るまで待てないという人は(作るかどうかも分からないけど)
// @include http://b.hatena.ne.jp/*

// @include http://*
に変えて使用してもさしたる影響はないと思います。
(言うまでもありませんが、この場合、すべてのページに適用されます)


おまけ

Operaな人向けに書いた、非常に微妙なアイディアである、
Opera:Tips 15 -Operaのブックマーク機能をさらに頑張って使ってみた
に対応させるためには、
// @include file://localhost/*
を加えるといいかも(笑)。


追記

バージョンアップ版を公開しました。
Browser.js [共通 8] [Script4] どこでもニコニコ動画のサムネイル(埋め込み)を表示するスクリプト

各種ソーシャルブックマーク: ブックマークに追加する |あとで読む

最新の記事(30エントリー)
【TopPageで探す?このブログの最新記事をCheckしてみる?】

吹き出し3
コメント
吹き出し2
コメントの投稿

管理者にだけ表示を許可する

  ※スパム対策のため、フィルターをかけています。本文が英数字のみのコメントはスパム認定される恐れがあります。どうかその点ご了承下さい。

吹き出し4
トラックバック
【トラックバックURLはこちら】
http://browserjs.blog102.fc2.com/tb.php/582-11ed35f0
この記事にトラックバックする(FC2ブログユーザー)

※スパム対策のため、トラックバックは管理人の承認後に表示されます。

※なお、当ブログでは宣伝目的のスパムトラックバックを制限しておりますので、本文が英数字のみの場合や、NGワードを含んでいる場合、当該記事にブログのURL(言及リンク)が含まれていない場合は、トラックバックできない可能性があります。誠に申し訳ございませんが、その点、どうかご了承下さるようよろしくお願いします。

ウィルコムストア ウィルコムストア

Browser.js
He who runs after two hares is a "challenger" ( Laugh...). 
Separated But Connected !!
Chrome Counter
Firefox3 Meter
Firefox3 Meter QRコード
Choose Opera 日本支部
Headline-Reader
あわせて読みたい


無料ホームページ アフィリエイト レンタルサーバー FC2ブログ 一戸建て

;