ニュータイプっぽくニコニコ動画の一覧から動画を先読みするGreasemonkey

トラックバック(1) コメント(3)

「ぼくが、一番ニコ動をうまく使えるんだーーー!ずぎゅーーん」

「・・・ばかな、あんどれ」

なんてことを言われたどうかはわかりませんが、Youtube用のGreasemonkeyにYouTube動画を同一画面上に開いてリサイズできるGreasemonkey|WEBマーケティングブログというのがありまして、便利だったのでニコニコ動画用につくってみました。

「マイリスト」「ランキング」「タグ検索」「キーワード検索」等の動画一覧の動画リンク横にあるボタンをクリックすると画面遷移することなしに動画をポップアップで起動できるようになります。

まるで先読みの・・・のような操作感!(笑)

大量の動画をポップアップすることもできますが、ぶっちゃげ私のマシンではCPUの性能が追いつかない(まさにニュータイプwww)のであまり試してません。ま、サーバーに優しくね^^(試したのは今のところ同時6個くらいまで・・・爆発しそうでした。)

[簡単な使い方]

1.インストール

Greasemonkeyと下のユーザースクリプトをインストールしてください。都合上スクリプトが2つになってます。nicomultipopdragresize.user.jsだけでも動きますが、その場合、自動モード(後述)のみになります。

nicomultipopdragresize.user.js
nicomultipopdragresizepa.user.js

2.利用できる画面

ニコニコ動画の一覧(例タグ検索 演奏してみた‐ニコニコ動画(SP1))を開きます。動画のリンク横に下のイメージのようなポップアップボタンがあるので押してください。小さなウィンドウ(ポップアップ画面)が起動して動画が見れます。

3.ポップアップ画面について

閉じたいときは画面左上の×ボタンで閉じてください。リサイズは、下のイメージのように画面右下の端をドラッグして下さい。画面上のドラッグバーをドラッグ&ドロップして画面移動もできます。

4.ショートカットキー

i :初期化 ポップアップ画面のサイズ・位置・スクロールの位置(縦)を初期化します。

r :リロード
Friefox拡張(※)によっては、動的にリンクが増えたりするものもあるので、更新されたリンクに対してポップアップボタンを追加します。

(※)試したのは私の使っている拡張マイリストとAutoPagerize(ウノウラボ Unoh Labs: Webブラウジングを快適にするAutoPagerize)です。いつもお世話になりまくってます。

m :ポップアップ画面内の縦スクロール位置の設定方法の切り替え
OKならマニュアルモード→一番最後に移動した縦スクロール位置を記憶。
キャンセルなら自動調整モード(初期値)→動画が見える位置まで自動スクロール。

d :ポップアップ画面を全て閉じる
ポップアップが増えすぎたり、画面の外に移動してしまってカオスな状況になった人のために。

5.他のユーザースクリプトとのコンフリクト(衝突)について

ユーザースクリプト(以下US)の宿命(?)で他のUSに影響を与えることがあります。 例えばポップアップの画面内で拡張マイリストの登録をすると動画のIDが正しく取れません。

原因は、ポップアップ先の画面で特定の場所にジャンプする都合上、URLの後に~#flvplayer_container、#flvplayer_container_mをつけているからです。(動画のIDを抜き出す処理に影響したりします。)

対応(1)もっともシンプル

ポップアップ先の画面では他のUSを使わない。

ポップアップ画面内でいろんなことをやった場合どうなるかはあんまりテストしてません。
動画をみるだけにしておいたほうがよいかも。

対応(2)USなんとなくわかります人向け

ポップアップ先の画面で使われている他のUSを編集。以下のURLを除外URLにする。

編集したUSがポップアップ時のみ無効になります。

http://www.nicovideo.jp/watch*#flvplayer_container
http://www.nicovideo.jp/watch*#flvplayer_container_m

対応(3)USカスタマイズすればいんじゃない?人向け
私はポップアップ先でも拡張マイリスト使いたい(ワガママなやつ^^;)ので以下のようにしました。
nicovideoadditionalmylis.user.js
function getVideoInfo()の1019行あたり
//var m = w.location.href.match(/^http:\/\/.*?\.nicovideo\.jp\/watch\/([^\/]+)/);
var m = w.location.href.match(/^http:\/\/.*?\.nicovideo\.jp\/watch\/([a-z0-9]+)/);

6.ちょっと改善


・ポップアップ画面を閉じるときに位置とサイズを記憶しますので初期化するときは全画面閉じてないとあまり意味がなかったりします。
・友人にテストしてもらったら文字入力時にショートカットが有効になるのがウザイという助言(グッジョブ!ありがとう^^)をもらったので「shortcuts.js」(すばらしいライブラリです。)を取り込んで無効にしました。


7.プログラム的なところ


・スクリプトが2つになったのが残念。
開いたポップアップ(iframeで作成)のスクロールバーが親から制御できなかった。結果、ポップアップ先で動くスクリプトを別に作成。iframeはじめてまともにつかった(w)のですが理解し切れてないようです。
wrappedJSObjectでできそうな気がしたんですけどだめでした。

参考サイト
304 - narucissus is Not Modified: Greasemonkeyで遊ぶ(その1)
XPCNativeWrapper - MDC

・元ソースから改変しまくったので無駄が多い。
直せたら総リファクタしたいくらい。ただ、ユーザースクリプトの賞味期限を考えるとこのままでもいいかなーと考えたりもします。

おまけ

はてなスターが沢山ついているエントリーがうらやますぃーので少しタイトルと序文をいい感じに工夫してみましたウヒヒw

参考サイト
トレビアンな文章が書けるテクニック! - livedoor ディレクター Blog

関連エントリ

Andre's garden: livedoor Readerのフィードをレートごとに既読にするGreasemonkey

追記(3/31)

レベルアップしました。Andre's garden - 他のサイトでもニコニコ動画をポップアップできるようになりました。

トラックバック(1)

このブログ記事を参照しているブログ一覧: ニュータイプっぽくニコニコ動画の一覧から動画を先読みするGreasemonkey

このブログ記事に対するトラックバックURL: http://andre-garden.com/cgi/mt/mt-tb.cgi/2

» ニコニコ動画用Greasemonkeyスクリプトのまとめ(Web scratch)からのトラックバック

Greasemonkeyスクリプトのまとめ GreasemonkeyとはFirefoxで利用できるアドオン。 ニコニコ動画利用できるGreasemonke... 続きを読む

コメント(3)

タカキマ : 2008年3月20日 11:22

トレビアンな文章かどうかはよくわからんが、あんどれが少々壊れ気味なのはよくわかった(笑)

まあ色々楽しく研究開発?を続けておるよーだね。

将来俺が開業した時に、事務所のHPに使えるアイテムをたくさん用意しておいておくれ

あんどれ : 2008年3月20日 13:54

タカキマさんへ
コメントありがとうございます^^

☆がほしくて壊れ気味ですw
「同情するなら☆をくれっ」とかいわないとか。

>まあ色々楽しく研究開発?を続けておるよーだね。
楽しいんですけどプライスレスなもので・・・
なにかの役に立ちませんかね^^;

>使えるアイテムをたくさん用意しておいておくれ
ラジャー!すげぇやつ作っときます^^


【質屋出店】ルイ・ヴィトン モノグラムフレンチ・パース T61218【中古】,�ۥ磻�� 41112
商品名ルイ・ヴィトンフレンチ・パースT61218 シリアルSD0919参考価格- ライン名モノグラムカラー-仕様札入れ×1、小銭入れ×1、カードポケット×4、ポケット×2 サイズ約 W9×H13.5×D2.5cm 程度C付属品- 備考US...

コメントする

最近のブログ記事

Nico multi-pop-drag-resizeをAutoPagerizeに対応しました
Nico multi-pop-drag-…
最近買った本
パーフェクトJava (PERFECT …
最近の気になった記事(03/05)
とりあえず生きてます(笑) Listen…
3Dにはまるかも?(アバターではありません)
アバターが意外と近くでIMAX上映(10…
フェデラー全豪優勝おめでとう!
かなり、遅ればせながらフェデラー強かった…
全豪オープン8日目(面白くなってきました)
フェデラー勝ちました。 フェデラー 6-…
日の出が見れるiPhoneアプリを作ってみた。
とは言ってもイチから作れるはずもなく[N…
ハナ○ロード(Panasonic ER430PP-H)
ながかった・・・ 愛用していたヤツが錆び…
今年もよろしくお願いします
明けましておめでとうございます。 ・・・…
これは映画でみるべき Avator(アバター)
12月23日(水)行ってきましたよ。アバ…