2007年4月アーカイブ

Gresemonkeyでブラウザー

| コメント(0)

あれこれ拡張やスクリプトを入れすぎているせいかFirefoxが重い、新しいタブを開くのももっさりしている。
あー、リンク先をタブを開かずにiframeで開けたらいいのに!

それGreasemonkeyでいいんじゃね?

ということで作りました。GreaseFox。

このスクリプトをインストールすると対象に指定したサイトでは、クリックするとページ上にオーバーレイでリンク先が開きます。

開いたオーバーレイは、左右の黒帯に一度カーソルを移動して、戻すと閉じます。


使用例ムービー

http://blog.amazie.jp/greasefox.htm


設定方法

対象にするサイトを

/* Setting */
var include_URL = <><![CDATA[
    http://www.checkpad.jp/*
    http://www.google.*/*
    http://mixi.jp/*
    http://clip.livedoor.com/clips/*
    http://twitter.com/*
]]></>;
に記述。

すべてのページで使っちゃるという男前は

var include_URL = <><![CDATA[
    http(s?)://*
]]></>;
で、おk。


Tips

Livedoor Reader で "G"を押すと元記事がオーバーレイで開きます。

→初期版ではLDRが対象サイトにはいってなかったので、入れました。


既知の問題点

  • 履歴に残らない →いいのか?悪いのか?
  • a タグの内側にfont タグとかが複数入ってるリンクは開きません。
  • サイトによっては、タイトルがうまく取得されない。かも。
  • BackSpaceとか、Alt+←とかで戻ったら、タイトルとアドレス欄が表示されない。 →後ろは振り返らない、ひたすら前進あるのみ。
ライセンス

MITライセンスで。


開発謝辞

gotinの日記
http://d.hatena.ne.jp/gotin/

gotinさんのmktag関数を使わせていただきました。


del.icio.usのハッシュの作成に

高度な JavaScript 技集
http://www.onicos.com/staff/iz/amuse/javascript/expert/

のmd5.jsを使わせていただきました。


Todo

好きなサイトで有効/無効を切り替えれるようにする。


以下、余談

一番苦労したのは、ページのタイトルとURLの取得。
iframeのクロスドメイン制限で、通常の方法では他ドメインのページは取れない。
GM_XMLHttpRequest使って、アクセスするのもやってみましたが冗長。
結局、GM_SetValueでどうにかしました。


おまけ

初期型は、こんなこともできました。

マトリョーシカモード

Mな人が使うモード。

マトリョーシカ人形 - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%88%E3%83%AA%E3%83%A7%E3%83%BC%E3%82%B7%E3%82%AB%E4%BA%BA%E5%BD%A2


最初に考えたグリモンアプリはこれで完結。
Greasemonkeyはやっぱ次世代のプラットフォームかもよ!?>Apolloかなぁ

Pagerization - Userscripts.org
http://userscripts.org/scripts/show/7623

各種サイト で AutoPaging してくれる Greasemonkeyスクリプトです。
とても便利です。

Twitter も対応させたくなったので、設定ファイルを書きました。

使用するには、SITEINFO_URL を上記のURLに書き換えて(↓追記参照)、Greasemonkey のユーザースクリプトコマンドからキャッシュをクリアする必要があります。

Twitter 、流れるのがとても早くなってきたのですが、これでなんとか読めるかも。


追記:

?D of K - Pagerizationをもっと改良したい
http://d.hatena.ne.jp/ofk/20070412/1176379110

AUSGANG SOFTの中の人はTwitterのデータだけを公開して、それのURLをSITEINFO_URLに追加してほしいとすれば良かったりする。
var SITEINFO_URL = [
'http://userjs.oh.land.to/pagerization/siteinfo.v2.txt',
'http://example.com/siteinfo.txt'
];

こんな感じで。

ありがとうございます。
おお、そうだったのですね。
のちほど修正してみます。

Collection & Copy - Twitter、AutoPagerizeで継ぎ足しスクロール
http://d.hatena.ne.jp/brazil/20070413/1176443113

brazilさん、こんにちは。

次ページの内容が、#timelineに入ってるページと、.doingに入ってるページの2種類があるみたいです。

おお、ホントだ。ありがとうございます。
ちょっと、いま体調悪くて頭が回らないので、のちほど参考にさせていただいて Pagerization 用も書いてみます。

Twitterは、今何してる?を共有するサービス。
非常にライブ感があって、楽しいですね。

自由に人を add できるのですが、アイコンだけだとイマイチ誰が誰なのか見るのが面倒だったので、わかりやすくするスクリプトを書きました。



friend アイコンにカーソルをあわせるとプロフィールを表示します。


開発謝辞

cho45氏の$X関数を使わせていただきました。感謝。

XPath, $X function, NSResolver
http://lowreal.net/logs/2006/03/16/1

ふぁっきん not well-formed, XMLHttpRequest とかで
http://lowreal.net/logs/2006/06/19/1.html


追記:コメントに返信しようとしたらエラーが出るので、こちらで返信を。

> sidus さん

コメントありがとうございます。
もしや新しくGreasemonkeyをインストールされましたか?
他のスクリプトでも同じエラーがでるようなら、↓の対処を試してみてください。

MediaLab Love - Greasemonkeyでファイルがインストールできない時の対処
http://d.hatena.ne.jp/Koumei_S/20060812

このアーカイブについて

このページには、2007年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年3月です。

次のアーカイブは2007年6月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ