土曜日, 11月 24, 2012

ユーザスクリプトでちょっとした手間をなくす


どうも、最近jQueryについている$はjQuery自身である事を知った具志です。
(今までこの$はなんだろうか。。。と思っていました。)

さて、下記のページを見て欲しい。
日経BPからのRSSで飛んでくるとこのページに来るのですが、ここまで来ているのに、全文を読むボタンを押さないとそのページにいけないという謎仕様なんです。
一つのドメインに割り当ててアクセス解析の手間を軽減しているんだろうけど、これでは使いにくくて仕方がないですね。
取得しているRSSの記事があまり触れて来なかったもの、なぜか結論が冒頭に出ていない記事ばかりなので、気になったら、全文を読むをクリックする手間を省きたいです。

思いついたのは、サーバーサイドでやるか、クライアントサイドでやるか。

サーバサイドでやると、また別の方向に飛んでしまいそうですので、今回はクライアントサイドで解決する方法を考えたいです。

ただ、解決するとはいっても、軽量な方法で解決したいな。と思ったのがこのエントリを上げるきっかけでした。

クライアントサイドで解決するなら、user scriptかな。
jQueryも呼び出せるみたいなので、ブラウザの操作に不自由を感じることは無さそうです。
http://stackoverflow.com/questions/2246901/how-can-i-use-jquery-in-greasemonkey-scripts-in-google-chrome
なんで、作ってみましょう。

一旦できたー。
もしかしたら、jQueryって元々使えたんじゃね?とか、consoleからいじってて思ったけど、いいか。
できたファイルは、chromeの拡張機能に放り込めば使える。
https://raw.github.com/tluna/tluna/master/lang/js/nikkeibp-opener.js

使ってみると、前のタブが残っているのが気に入らなかったので、方法はないかな?と探してみると、http://developer.chrome.com/extensions/tabs.htmlというものをみつけたので、これで対処できるかなー。と思っていたのですが、、、
(この時点では気づいていませんでしたが、既に出来上がっているuser scriptで目的は達成できていた。)


http://dev.screw-axis.com/doc/chrome_extensions/guide/content_script/
私の利用したかったtabをどうのこうのするAPIはChrome Extensionとして作らないと出来ないみたいですね。

user scriptから改、chrome Extensionにするしかないですね。なんで、上にあるコードは使わないで新しく作りますか。

,,,,,

作り終わった後に気づいたのですが、User Scriptsでも十分対応できていました。(前に書いたコードで)

あぁー。
まぁ、Chrome Exntesionの作り方がわかりましたよーっていうことでよしとしますか。

https://chrome.google.com/webstore/detail/nikkeibp-auto-opener/bmioapgeabpnhcljmoojefabdnmibimn/related?hl=ja

誰かが使うかもしれん。。。テストでプログラムをアップロードしてみたいし、ということで、Chrome Storeにアップしますかね。
Googleに開発者登録USD5$を収めた。

作業時間としてmanifest.jsonを描くのが一番時間がかかりましたね。 あれがなかったらもっと早く終わったのに。。。。

作りながらオプーナのプレイ動画見てたけど、あれ結構普通のゲームじゃね?