2012年8月4日土曜日

なかなかイイですよ Tampermonkey

ChromeにTamperMonkeyなるエクステンションがあるのですが、これがナカナカいいです。
http://tampermonkey.net/about.html?version=2.5.29

任意のWebサイトのhtmlに介入して書き換えてしまうものです。
利用には、中級javascript使いである必要があります。
なぜって、生のjavascriptを使って「htmlに介入」するので。

似たようなコンセプトでは、例えば有名なAdBlockがありますが、アレはバナー広告専用ですし、
日本国内のショッピングサイト類等には対応してないわけです。

で、具体的にどうするかですが、例えば、とあるショッピングサイト。特定団体の誹謗中傷を目的としてはいませんので、縮小しまくってます。それでも見えちゃってますが、まあ許してください。



ここのショッピングサイトは、あまりカスタマイズが出来ないらしいのですが、iframeで捻じ込むっていう方法論が確率しちゃって、結構な分量のカタログを見せられます。とはいえ、長すぎじゃね?と思うところも多々あります。だって、縦2000ピクセルとかありえないですよ。どんだけスクロールさせるんだよ。商品を売る気があるのかよ?

そこでTamperMonkeyの出番。
https://chrome.google.com/webstore/detail/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=en-GB
https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo
話の都合上、入れるしかないので、入れてください。

しかし単体では動きません。個々のユーザスクリプトをインストールする必要があります。

前述のケースでは、こんなことをヤラカすスクリプトを書きました。


一定サイズ以上の巨大なiframeを、リンクに差し替えます。これが効くと、画面がゴッソリ縦に縮みますから、サクっと商品をチェックできます。

TamperMonkeyでは御謹製リポジトリがあるのですが、ファイル名が、*.user.jsだと何処からでもインストールできるっぽい。ので、githubに貼りました。

https://gist.github.com/raw/3255264/50bd0ae0e598f7b943ea5c022d208cbc143944cf/iframedisabler.user.js

インストールが始まっちゃいますが、ご安心を。断った上でソースの確認ができます。

味を締めて、もうひとつ書きました。tumblrのreblog用です。



小生が常用しているPCは、14インチワイドなので、縦がやや狭いです。ですが、tumblrはどういう訳か、縦長い画面の方が使いやすいように出来てるようです。Android Tablet で縦持ちで使うと、驚きの使いやすさ。

実際にはそんなに大それた話ではありません。画像を縮小しちゃってもいいわけです。Bookmarkletはそうなっています。PC用に、っていうか、ユーザPCの画面サイズに合わせて縮小してくれないもんでしょうか。やってくれなさそうなので、TamperMonkeyの出番です。



スクリプトはコイツです。
https://gist.github.com/raw/3255265/c90e19012f422f39952182b6d30724d19ced2534/tumblrnallowscreen.user.js