Home / Diary / タグ: userjs

1234

目次

  1. mp3へのリンクにGoogleのmp3プレイヤーを埋め込むユーザースクリプト
  2. ニコニコ動画視聴補助スクリプト for Opera
  3. OperaだとlivedoorReaderがニュルっとするのでユーザースクリプトでなんとかする
  4. del.icio.usのHistoryにURLでアクセスするユーザースクリプト
  5. AutoHotKeyでOperaでもUserJSをインストールできるようにする
  6. Code Snippetsを見やすくするGreasemonkeyスクリプト

mp3へのリンクにGoogleのmp3プレイヤーを埋め込むユーザースクリプト

Inline Google Mp3 Player — Userscripts.org

その発想、YESだね!

んが、@include *で全てのページを開く度に全てのリンクを走査されてはたまらないので、スクリプトを/packer/で圧縮してOperaのブックマークレットとして登録。んむ、ディモールト・ベネ。

しかし、適当に巡回していると未だにmp3をlzhで圧縮してるとこが結構あったりするのであった。数年前の名残で拡張子がmp3のままアップロードできないとかいうレガシーなレンタルサーバーなのだろう。

で、それらを大量にダウンロードして解凍すると、裸で出てきたり、フォルダに入ってたり、マトリョーシカだったり、HTMLが落ちてきてたりしてブチギレ金剛ですよ。

いやまあ、mp3で抽出すりゃいいってのはわかるんだがね。

んで、それらをプレイヤーにぶち込むと、今度はID3タグが空っぽで、またブチg

Info

2007
0707

Tagsjavascriptuserjs

ニコニコ動画視聴補助スクリプト for Opera

当初はOperaのWidgetで作ろうと画策したが、妙な対策がなされてて失敗。仕方ないからユーザースクリプトでそれっぽいものをでっち上げた。

スクリーンショット

nico2windower.js

事前にニコニコ動画のページの適当なところで「右クリック>サイト設定の編集>スクリプトタブ>ウインドウのサイズ変更を許可する」にチェックを入れておくこと。

解説

このスクリプトを導入すると、ニコニコ動画内で動画ページへのリンクをクリックした場合、ページ内に新しいウインドウとして表示するようになる。

その後、新しいウインドウのタブを切り離すことによって、上のスクリーンショットのようにデスクトップの端に置いておくことができるようになる。

では、いちいちウインドウを切り離すのか?

それを回避するためにウインドウを共有するようにしている。切り離したウインドウが存在する状態で他の動画へのリンクをクリックすると、そのウインドウで新しく開いてくれるのだ。実際に触ってみてもらえば分かるが、これが実に快適。

そして、時にはもう一つウインドウを立ち上げたくなる場合もあるので、テキストリンクはウインドウ共有画像リンクは常に新規立ち上げ、というようにした。

ウインドウの切り離し方

ウインドウがページ内に表示されても、その分のタブはしっかり一番右に出ているはずなので、そのタブを真上にドラッグすると切り離すことができる。

Operaに慣れている人はジェスチャーなりショートカットキーにDetach pageを設定するといいだろう。

注意

通常のタブで開きたくなった場合は、左クリック以外の方法、右クリックからやリンク事態をタブバーに持っていって開いて欲しい。

また、CSSに修正を加えているため、動画ページではFlash部分が一番上に配置されるようになってしまっている。

Info

SBM Comments

miya2000
「ウインドウがページ内に表示されても、その分のタブはしっかり一番右に出ているはずなので、そのタブを真上にドラッグすると切り離すことができる。」
Xenophias
このスクリプトを導入すると、ニコニコ動画内で動画ページへのリンクをクリックした場合、ページ内に新しいウインドウとして表示するようになる。

2007
0414

Tagsnicovideooperauserjs

OperaだとlivedoorReaderがニュルっとするのでユーザースクリプトでなんとかする

ニュルっとするのです。Operaだと。

キーボードで操作してると気にならないけど、稀にホイールで回した時にニュルっとされると微妙にムカつくので、ついに直すことにした。

原因は高さの計算にスクロールバーが含まれていないこと。そしてoverflowにscrollが指定されていること。

Operaはoverflow-xとoverflow-yに非対応(というかIE専用だし)なので、スクロールバーは否応なしに両方表示されてしまう。それを回避したいならoverflowにautoを指定すればよい。

んが、横幅の計算でborderを考慮していないようなので、はみ出してしまった要素の分スクロールバーが出ているようだ。そこで、borderの分マイナスしてやることによってようやく収まった。

ldrfixvscroll.user.js

サイドバー固定だから、ネガティブマージンで組んでいればCSSで対処できたと思うんだが、さすがにスクリプトで幅指定されるとどうしようもないわ。

ここまで作っておいてなんだが、LDRでニュルニュルするという話を他所で聞いたことが無いんだけど、もしかして俺だけ?

Info

SBM Comments

maplebread
Opera9.5だけどニュルっとしなくなった
onaka
マウスドライバを替えることで解消した俺ガイル.ロジクール大好き(゚∀゚)
onk
Kuruma
マウスで使ったこと無い。。
mosshm
「ニュルっ」がよく分からないけど。

2007
0413

Tagsoperauserjs

del.icio.usのHistoryにURLでアクセスするユーザースクリプト

del.icio.usではブックマークされたページ毎にユーザー・コメント・タグを表示させることができるが、そのURLがMD5を使用したものなのでアクセスしにくい。

http://del.icio.us/url/46efc577b7ddef30d1c6fd13311b371e

そこで、URLを付けてアクセスしたら、MD5にしてHistoryページにリダイレクトさせるようにしてみた。幸いにも無効なページの場合に他のURLに飛ばすような真似はしていなかったのですんなり成功。

deliciousnohash.user.js

通常ハッシュの部分にURLを入れるか、めんどいなら/url/を取っ払っても大丈夫なようにした。インストールすれば、下記2つのリンクはどちらもリダイレクトされるはず。

OperaとFirefoxの両方に対応。試してないがSleipnir(SeaHorse)もいけない。いけたりする。

追記

http://del.icio.us/url?url=[URL]

でイケるとのツッコミを受けた。は、初めて知った・・・

教訓:ヘルプには目を通しておけ

Info

SBM Comments

RPM
「http://del.icio.us/url?url=[URL]」
cannabis_d
そこで、URLを付けてアクセスしたら、MD5にしてHistoryページにリダイレクトさせるようにしてみた。
kaseisan
http://del.icio.us/url?url=[URL] でイケるとのツッコミを受けた。は、初めて知った・・・
woodgreen
javascript:(function(){u='http://del.icio.us/url?url=' escape(location.href);with(window.open().document){location.href=u;close();}})();
onaka
「http://del.icio.us/url?url=[URL]」な……mjd(゚д゚)
nirvash
http://del.icio.us/url?url=[URL]
kits
"del.icio.us history for" のフォームを見て http://del.icio.us/url/check?url=[URL] を使ってました。
onk
naltan
Kuruma
http://del.icio.us/url?url=[URL] はしらなかった。
brazil
del.icio.us、URLのMD5/ハッシュを計算、圧縮スクリプト、http://del.icio.us/url?url=[URL]

2007
0320

Tagsfirefoxoperauserjs

AutoHotKeyでOperaでもUserJSをインストールできるようにする

;UserJSディレクトリ(最後のバックスラッシュを除く) ScriptDir = C:\Opera\profile\script

URL = %1%
FileName := RegExReplace( URL, ".*/", "" )

IfExist, %ScriptDir%, IfInString, FileName, .js
    URLDownloadToFile, %URL%, %ScriptDir%\%FileName%

スクリプトの内容はこれだけ。後はExecute Programから%lの引数付きで渡すだけでUserJSをインストールすることができる。

引数からダウンロードディレクトリを指定してもよかったが、半角空白が混じっていると厄介なので、あえてスクリプト側に記述するようにした。

UserJSに限らず、ただ単にファイルをダウンロードしているだけなので、分岐してやれば拡張子ごとに保存フォルダを変えるなんてことも可能。

installjs.ahk

Info

SBM Comments

Kuruma
普通にソースを読みたい時も多々ありますので私は導入しませんが、一般的には便利だと思う。wgetを使うよりずっと楽だし。

2006
1122

Tagsahkoperauserjs

Code Snippetsを見やすくするGreasemonkeyスクリプト

Code Snippetsとはプログラムコードの断片を共有 するサイト。激しく使えるものから使い道に頭を悩めるようなものまで幅広く投稿されてるので暇を見て眺めていたわけだが、このサイトが思いのほか使い辛い。

何が使い辛いってコードが初期状態で展開されてるから、50行近くもあるコードがあると、ページがエラい高さになる。

というわけで、いっちょGreasemonkeyで見やすくしてみようじゃあないか、と思って作ったのがこれ。

codesnippets.user.js

何気にOperaにも対応。コードタイトル右端に展開用のボタンを表示。デフォルトは全部閉じた状態。展開した状態でダブルクリックすると閉じる。折角なんでサイドバーも閉じた。これで大分見やすくなったー。

微妙に手抜きっぷりが見え隠れしているのは、近い将来もっと見やすい形にサイト側が対応するだろうという見通しのものであり、決してめんどくさかった訳ではない。いやマジで。

本当はSleipnirのSeaHorseにも対応させようとしたんだけど

user.js設置する(alert仕込む)

Sleipnir起動

ページ開く

alert出る

user.js弄る(alert消す)

リロード

alert出る

user.js削除する

リロード

alert出る

どうみてもメモリに読み込んでます。本当にありがとうございました。

つーことは、SeaHorse用に作る場合はブックマークレットかSleipnirスクリプトとして作成してから移植するしかないのか。超めんどー。・・・あー、今回はご縁が無かったということで。

んで、コード共有サイトなんだからボタン一発でクリップボードに入れられるようにしたいよな。というわけでflashファイルを利用してクリップボードへコピーしてくれるボタンを生成してくれるようにもしてある。

なんでdataスキームじゃないかというと、どうやらFlashPlayer9になってセキュリティ周りに変更が出たらしく、最小構成のHTMLにembedでdataスキームのsetClipboard.swfを指定したやつを開いても反応しなくなったのよ。というわけでエロい人解決法求む。

ファイル自体はこっちね。OperaかFirefoxを使って、右クリックメニューから保存。適当なURLで繋がる場所にアップロードしたら、スクリプトを開いて「var flashURL」部分にURLを入力すれば機能するようになる。

setClipboard.swf

Info

SBM Comments

onozaty.test
Greasemonkey、user.js、スニペット、embed、クリップボード、swf、Flash 9、dataスキーム失敗、→調査/重要
brazil
AUSGANGSOFT
そんなことになっとったとは・・・。

2006
0826

Tagsfirefoxoperauserjs

暴満館

最新のエントリ
注目のエントリ(はてな)
ゲーム攻略

暴満館 ~The House of Full Violence~
Powered by WordPress.
About | Contact | 新着のエントリ情報 RSS

ページ内の見出し一覧
mp3へのリンクにGoogleのmp3プレイヤーを埋め込むユーザースクリプト
ニコニコ動画視聴補助スクリプト for Opera
OperaだとlivedoorReaderがニュルっとするのでユーザースクリプトでなんとかする
del.icio.usのHistoryにURLでアクセスするユーザースクリプト
AutoHotKeyでOperaでもUserJSをインストールできるようにする
Code Snippetsを見やすくするGreasemonkeyスクリプト