ラベル Greasemonkey の投稿を表示しています。 すべての投稿を表示
ラベル Greasemonkey の投稿を表示しています。 すべての投稿を表示

2012年11月25日日曜日

Google Chrome で Greasemonkey スクリプトを利用するための拡張機能 Tampermonkey または NinjaKit

1. Google Chrome に Greasemonkey スクリプトをインストールできない

SnapCrab_NoName_2012-11-25_11-41-20_No-00Google Chrome で Firefox の Greasemonkey のスクリプトを利用したい。例えば、

するためのスクリプトを使いたい。しかし、スクリプトが公開されている

を開き、右上にある Install ボタンを押すと、インストールできない旨が通知される。

アプリ、拡張機能、ユーザースクリプトはこのウェブサイトから追加できません。

以前は、Google Chrome で Gresemonkey のスクリプトを、そのまま流用できた。

Google Chrome 4、Greasemonkeyをネイティブサポート - ITmedia エンタープライズ によると、

米GoogleのWebブラウザ「Google Chrome 4」が、Firefoxの拡張機能「Greasemonkey」のユーザースクリプトにネイティブに対応した。…

スクリプトは拡張機能に変換されるので、ほかの拡張機能と同じように数クリックでGoogle Chromeにインストールできる。

しかし、現在の Chrome のバージョン23 では、安全性のために審査されていないものは使えない。

他のウェブサイトからの拡張機能の追加 - Chrome ウェブストア ヘルプ によると

以前は、どのウェブサイトでも、ブラウザに拡張機能を追加するように指示することができました。…

ウェブ上でのユーザーの安全を確保するため、ウェブストアにある拡張機能はすべて、Google のアナリストとエンジニアのチームが詳細に調査しています。このチームは、悪意のあるアプリケーションや拡張機能を検出して、ウェブストアからインストールされるのを阻止することを使命としています。…

今回のインストール プロセスの更新により、拡張機能のインストールをウェブサイトが自動的に起動することはできなくなり、Chrome に追加する拡張機能のユーザーによる管理が強化されました。

 

2. 手動でスクリプトをインストールする

どうしてもスクリプトをインストールしたい場合、スクリプトをローカルに保存してから、拡張機能にドロップすれば良い。

他のウェブサイトからの拡張機能の追加 - Chrome ウェブストア ヘルプ によると、

  1. そのウェブサイトから拡張機能ファイルをダウンロードし、パソコンに保存します。
  2. ブラウザのツールバーにあるレンチ アイコンをクリックします。
  3. [ツール] > [拡張機能] を選択します。
  4. パソコンに保存した拡張機能ファイルを探し、[拡張機能] ページにファイルをドラッグします。
  5. 表示されるダイアログで、拡張機能への許可のリストを確認します。インストールする場合は、[インストール] をクリックします。

先ほどのスクリプトの場合、Install ボタンで右クリックして、スクリプトに名前を付けて保存する。その後、

  • Google Chrome の設定 > ツール > 拡張機能

を選択し、保存したファイルをドロップする。

SnapCrab_NoName_2012-11-25_12-13-4_No-00

 

3. Tampermonkey でユーザスクリプトを利用する

SnapCrab_NoName_2012-11-25_8-54-17_No-00拡張機能 Tampermonkey を利用すると、簡単にスクリプトをインストールできるようになる。

名前に含まれる tamper の意味は、英和辞典 Weblio辞書 によると、

1〔原文などを〕(許可なく勝手に)変更する改竄(いざ)する

2〔ものを〕(勝手に)いじりまわす勝手に開封する

SnapCrab_NoName_2012-11-25_8-47-2_No-00この拡張機能をインストールした後、

  1. Greasemonkey のスクリプトを開き、install ボタンを押すと、
  2. スクリプトをインストールするか尋ねられるので、
  3. OK ボタンを押す。

SnapCrab_NoName_2012-11-25_8-47-34_No-00ツールバーに表示された Tampermonkey のボタンをクリックしてオプションを選択すると、インストールされているスクリプトの一覧が表示される。この画面でスクリプトを無効にしたり、削除したり、一括で管理できる。

SnapCrab_NoName_2012-11-25_9-14-22_No-00

 

4. NinjaKit でユーザスクリプトを利用する

SnapCrab_NoName_2012-11-25_12-1-50_No-00Tampermonkey の代わりに、拡張機能 NinjaKit を利用してもスクリプトを使えるようになる。

SnapCrab_NoName_2012-11-25_11-52-39_No-00こちらは、インストールしたいスクリプトが公開されているサイトで install すると、Greasemonkey Installer というダイアログが表示される。

Firefox 一辺倒だったけれど、最近 Google Chrome への依存度が高くなっているなぁ。

 

その他

2011年3月1日火曜日

Google ドキュメントビューアで PDF を埋め込む。特定ページを開くための URL.

1. Google ドキュメントビューアーで PDF ファイルを開く

PDF ファイルを、ブラウザに組込まれたプラグインを使わずに開くときは、

を利用する。

http://docs.google.com/viewer

Google ドキュメント - ビューア via kwout

ブラウザのデフォルトの動作として、 PDF ファイルを上記サービスで開きたいときは、Userscripts.org にある Greasemonkey スクリプトをインストールしておく。

 

2. PDF ファイルを示す URL の末尾でページを指定する

特定のページを開きたい

Google ドキュメントビューア で生成したリンクを開くと、PDF の「最初のページ」が開かれる。

特定のページを指定したい場合はどうするのだろう?

によると、例えば、

Google ドキュメントビューア を利用して開く場合のリンクは、

となる。

 

ページを指定する URL

3 ページ目を指定して開きたいときは、URL の末尾に

&embedded=true#:0.page.2

を追加する。

ページは最後の数字で示される。1 ページ目は 0 からはじまる

よって、開きたいページから 1 引いた数を指定する。

 

3. ウェブサイトに PDF ファイルを埋め込む場合

ウェブサイトに PDF を埋め込む場合、iframe タグを使う。

上記の例の場合、

<iframe src="http://docs.google.com/viewer?url=http%3A%2F%2Fwww.scala-lang.org%2Fdocu%2Ffiles%2FScalaReference.pdf&embedded=true&embedded=true" width="600" height="780" style="border: none;"></iframe>

 

ページを指定する URL

特定ページを開くための URL は、iframe タグの src 属性の末尾に

#:0.page.2

を追加する。

<iframe src="http://docs.google.com/viewer?url=http%3A%2F%2Fwww.scala-lang.org%2Fdocu%2Ffiles%2FScalaReference.pdf&embedded=true&embedded=true#:0.page.2" width="600" height="780" style="border: none;"></iframe>

 

4. ブラウザ内で開く PDF ファイルに対して、ページ指定をしたリンクを作成には

追記 (2011.3.16) : 普通にブラウザ内で PDF ファイルを開く場合、特定のページを指定したリンクを作成するには、PDF ファイルのリンクの末尾に、

#page=ページ数

を追加する。例えば、

の 3 ページ目を表示させるリンクは、

( 参考: PDFファイルに対するページ指定ハイパーリンク - 繰り言 )

2010年6月3日木曜日

tombloo と Tumblr Life で reblog するときの違い – Minibuffer と LDRize の利用は限定的に

1. tombloo で reblog

Tumblr のダッシュボードで reblog するとき、

  1. マウスでスクロールして眺め、
  2. 気に入ったものがあれば右クリックし、 tombloo の機能を使いキーボードから `J’ を入力する

    img06-03-2010[1]

右手はマウスに添え、`J’ キーの上に中指を置き、`k’ キーのに人差し指を置く。`J’ キーで次のポストを表示し、同じキーで reblog できる。

このスタイルだと AutoPager で早めに次のページを読み込む設定しておくと、途切れなく滑らかに reblog できる。

 

2. Tumblr Life で reblog

RSS リーダーと言えば、最初 livedoor Reader を使っていた。LDRize は、livedoor Reader のショートカットキーによる操作を、他のサイトでも利用するための Gresemonkey スクリプト。しかし、LDRize の操作に馴染めなかったので常用してない。そのため、キーボードで Tumblr のダッシュボードをスクロールし、reblog という使い方はしていなかった。

Tumblr Life を使うと、キーボードでスクロールしながら、reblog することができる。予めインストールしておく Greasemonkey スクリプト は、

(Tumblr Life for Greasemonkey より)

追記(2012.2.22): 現在では、Minibuffer, LDRize は必要ない。

このスクリプトにより、

  1. `j’ キーで下方向へ移動し
  2. `r’ キーで reblog 。

ただし、LDRize をインストールするとき注意することは、

Minibufferに依存しているので先にMinibufferをインストールしてください

(silog - script/LDRize より)

追記 (2010.8.18) :  OS を Vista から XP にダウングレードして、Firefox を再インストールしたら Tumblr Life が使えなくなった。 「Tumblr Lifeが動かなかった話 - FLYING」 を参考にスクリプトを修正したら動作した。

追記 (2010.10.9) : Tumblr Life 0.5 にしたら、上記の修正は必要なくなった。ただし、動作しない場合は、Greasemonkey の設定画面の「ユーザスクリプトの管理」において、AutoPagerize, Minibuffer, LDRize, Tumblr Life を先頭に置くといいかも。

 

AutoPager を併用できない

サイトの自動ページ送りには、AutoPagerAutoPagerize の代わりに使っていた。しかし、AutoPager を利用すると、LDRize による移動が上手くいかなかった。そこで、AutoPager Lite をインストールし、必要なサイトのみ AutoPager を利用することにした。 Tumblr のダッシュボードでは AutoPager は無効にしている。

ただし、AutoPagerize だと、次のページを読み込むタイミングが遅いので、AutoPager のように途切れなくスクロールさせることができない。 (+_+)

 

3. Minibuffer と LDRize を実行するページを限定した

Minibuffer を利用した場合、Google Reader の読み込みが遅くなった。そこで、MinibufferLDRize は Tumblr と Google 検索のみで有効になるように設定した。

ステータスバーにある Greasemonkey のアイコンを右クリック > ユーザスクリプトの管理 において、ユーザスクリプトを実行するページを指定した。

img06-03-2010[2]

 

関連記事

2009年10月6日火曜日

Google 検索と同時に Google ブックマーク の検索結果を表示する Greasemonkey スクリプト

ブックマークの保存に Google ブックマーク

保存しておきたいサイトやページは全て Google ブックマーク で管理している。Firefox のブックマークは、ツールバーに頻繁に見るサイトを置いているのと、「あとで読む」用の一時的な保管場所として使っているのみ。ブックマークをツリー状に整理整頓しなくなって久しい。 ^^;

オンラインブックマークに移行して随分経過した。当初、はてブ を使うことも考えたけれど、完全にプライベート目的だったので Google ブックマークを選んだ。

 

Firefox のアドオン Gmarks で素早く入力

Google ブックマークを使うときは、Firefox のアドオン GMarks を利用。ブックマークしたくなったら、Ctrl + D で素早くブックマーク。後で検索できるように、なるべく多くタグを付けておく。分類目的のタグに加え、読んだときに気になった単語、「おもしろい」「なるほど」などという感想もタグとして付ける。場合によっては、そこから連想すること、人から教えてもらったらその人の名前、人に教えたいことなら相手の名前をタグとしてつけることも。後で検索するときに手がかりをたくさんつけておくのがポイント。

 

検索時にブックマークも同時に検索してほしい

検索をしていて、以前に見たページに辿りつけなくなることはよくある。なんとなく見たいサイトをぼやっと覚えているものの、肝心のそこへ辿り着くための検索ワードが思い出せない。 (+_+) そんなとき、Google ブックマークで再検索すると見つかることがある。Google 検索の後、ブックマーク検索するのは面倒なので、検索と同時にブックマークも検索して表示するスクリプトを書くことにした。

動作イメージは下図の通り。検索した単語に応じて、右側にブックマーク検索の結果を表示する。ただし、表示されるブックマークは、Google ブックマークで検索したときの 1 ページ目のみを表示するというシンプルなものに。

091001-003.png

 

インストール

前提 : Greasemonkey がインストールされていること。

インストールはこちらをクリック → search_extention.user.js

更新情報
  • 2011.9.10 : Google Bookmarks からの検索結果が表示されない問題を修正。
  • 2010.11.15 : Google のデザインの変更に対応。ただし、Google の検索結果の幅を固定したので、幅の狭い PC では見ずらくなるかも。
  • 2010.7.31 : Google のデザインの変更に対応。マーカーとして数値を振る。

 

Firefox のブックマークを Google ブックマークへインポート

Google ブックマークを普段使ってない場合は、Google ツールバー を使うと Firefox のブックマークをインポートすることができる。

ツールバーの機能 : ブックマーク - ツールバー ヘルプ によると、

  1. ツールバーの [ログイン] ログインボタンをクリックして、Google アカウントにログインします。
  2. [ブックマーク] ドロップダウン メニューをクリックし、(…) [Firefox ブックマークをインポートする] をクリックします。
  3. インポートしたいブックマークのチェックボックスをオンにします。
  4. [インポート] をクリックします。

ただし、ブックマークを階層化している場合、分類しているフォルダが独立したタグになるのではなく、

フォルダ名1:フォルダ名2

のように `:’ で区切られた文字列で一つのタグになるようなので注意。

 

ソースコードについて

GitHub

当初、Gist – GitHub に置こうと思っていたけれど、なぜか途中で切れてしまったので以下に置いた。

Git の使い方覚えなければ。。 (+_+)

追記 (2010.7.31) : Windows で GitHub の利用 - msysgit, TortoiseGit を使って

 

オブジェクト間の関係

大雑把に言えば、以下の図のような動作。

091005-001

 

スクリプトでは、トップレベルのオブジェクトを名前空間として利用。以下の図では便宜的に名前空間をパッケージとして描いた。

classDiagram2

 

当初、スーパークラスに相当する Abstract 内のオブジェクトは考えていなかった。Google 検索時には Google ブックマークからデータを引っぱてくるだけでよいと。しかし、スクリプトを書いている内に、Google 検索時に はてブ 、Bing 検索時に Delicious から読み込みたいなど、検索サイトとオンラインブックマークの組み合わせを変えたくなるかもしれないと思、共通になりそうな部分を抽出した。必要であればスーパークラスのメソッドをオーバーライドするだけ。しかし、他を実装していないので、実際に書いたときに色々と問題がでてくると思うけれど。。 ^^;

一応想定では、スクリプトの起動部分である最後の文を

searchResultArea({
    searchSite: Google.searchSite(),
    bookmarkService: Hatena.bookmarkService()
}).load();

または、

searchResultArea({
    searchSite: Bing.searchSite(),
    bookmarkService: Delicious.bookmarkService()
}).load();

のように切り替えられるつもり。

 

処理の流れ

大雑把な流れは以下の通り。

sequenceDiagram

 

参考書籍

スクリプトを書くのに以下を参考にした。

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス より

4873113911

  • 3.9 グローバル領域の利用を減らす, p28
  • 4.10 クロージャ, p43
  • 5.2 オブジェクト指定子, p57
  • 5.4 関数型, p59

上記の本では、new 演算子を想定している関数に対して、普通に関数呼出しをした場合、グローバル変数を上書きしていしまう可能性があるために、new を JavaScript の「悪いパーツ」と評している。(p133) その代わりとして、クロージャによるメソッドのアクセス制御と継承の方法について解説があった。これを読み、new 演算子の必要性を感じなくなったので、オブジェクトの生成に new は全く使っていない。クロージャは、はじめ取っつきにくかったけれど、慣れたらクラスと同じように見えてきた。クラスベースのオブジェクト指向のように、クラスの構文を持ち込まなくても、関数だけで表現できるのというのはシンプルでいいかも。 ^^

ところで、下記コードにおける searchSite 関数内の defaultInitArea メソッドは、引数 `my’ によって、searchSite 関数 (コンストラクタ) によって生成されたオブジェクトを継承したオブジェクトからのみアセクス可能であることを想定したが、こういう書き方で良かったのかな? JavaScritp に不慣れなので自信なし。。 (+_+)

 

関連記事

2009年8月24日月曜日

Google Reader のフレーム内に直接ブログを読み込むツール

パッチ

Google Reader には欠かせない、ブログをフレーム内に表示してくれる 「Google Reader Preview Enhanced v1.07g for Greasemonkey」。久しぶりに Firefox をクリーンインストールした後に入れ直したら、「あれ?なんでエントリーのタイトルをクリックしても動かないんだろ。」と考え込み。。 (@_@;) しばらくして理由を思い出したが、ソースを毎回修正するのも面倒だなぁ。一度やってしまえばいいのだけれど、やはりワンクリックの方がうれしい。 ^^;

と思ったら、ありがたいことに 「Google Reader Preview Enhanced (patched by bryantsai) for Greasemonkey」というのが。上記の Greasemonkey のスクリプトから派生したもののようだ。

 

Better GReader

Automatic preview – Userscripts.org

The better Greader has the option to preview automatically when you expand an item. …

と書かれていたアドオン Better GReader をインストールしてみたら、フィードリストがファビコンに変わって視認性が良くなった。しかし、その分動作が緩慢に。全体の表示もカスタマイズできるので使いたかったけれど、今の非力な自分の PC で常用は無理だぁ~。 (+_+)

2009年4月1日水曜日

Tumblr で自分の投稿を日本語検索するには、Google Reader を使う

1. Google の site 検索ではすべて検索できない

Tumblr のダッシュボードにある検索フィールドは日本語で検索できない。そのため、最近ポストしたものでも、探し出せないことがある。 (+_+)

Tumblr の検索の代わりに、Google の site 検索をするには、

site:XXXXXX.tumblr.com 検索ワード

しかし、ヒット率が悪い。

 

2. Google Reader で検索する方法がベスト

すべての Tumblr の投稿から検索するには、Google Reader を使うのが良い。

  1. 自分の Tumblr のフィードを Google Reader に登録する。
  2. Google Reader で、検索対象を自分の Tumblr だけにして、検索する。

090328-006

Google Reader の検索の方が、site 検索よりもヒット数が多い。

この検索に対して、スマートキーワードを付けると、検索を素早く行うことができる。

 

3. Tumblr Dashboard Filter で投稿の種類を絞り込む

を使うと、Tumblr のダッシュボードで、投稿の種類によりフィルタリングできる。

 

4. その他

Tumblr を使い始めたときから Google Reader にフィードを登録してない場合、全文検索するには API を使い、投稿したデータを全部取得するしかないのかな?

2008年12月7日日曜日

Google Reader に欠かせない`Google Reader Preview Enhanced’ が動かない

追記(2009.8.24): 別のスクリプトを使うようになった


いつの間にか Google Reader に欠かせない存在になっていた Greasemonkey のスクリプト「Google Reader Preview Enhanced」。読みたい記事があった場合、タイトルをクリックすると Google Reader 内で記事を展開して読み込んでくれるのでとても便利。しかし、Google Reader のインターフェイスの一新に伴って動かなくなってしまった。なくしてはじめてわかるそのありがたさ。 ^^;

しかし、さすがそこはオープンソース。ありがたいことに修正方法が書かれていた。

No longer working with new version of GReader – Userscripts.org

上記にある通り、catchEntryAdded 関数を置き換えたら動いた。 (cf. Spket IDE で Greasemonkey)

こういうのさっと直せるように最低でも Core JavaScript 1.5 ガイド – MDC くらい読まなければと思いつつ先延ばしに… ^^;

2008年11月16日日曜日

Greasemonkey, Stylish で既存のスクリプトを素早く編集

  1. ステータスバーの Greasemonkey 081116-006、または、Stylish  のアイコンを右クリック。
  2. 表示されるスクリプト名、または、スタイルの名前で `右クリック’

ただし、 Greasemonkey においては、編集するためのエディタが事前に設定されていること。

 

Stylish で既存のスタイルを編集するとき、「スタイルの管理」ダイアログを表示させてからスタイルを検索していたので面倒だなぁ (+_+) と思っていたけれど、これで楽になった。たまたま間違えてスタイル名で右クリックしたので気がついた…。ひょっとして、Greasemonkey でも同様の操作ができるかと思って試したらできたでので、Firefox のこういった類のアドオンって、こういう操作が慣習として使われているのかな?

2008年9月21日日曜日

Greasemonkey で特定のリンクをハイライト

1. 特定のリンクを目立たせたい

条件を指定して、一致したリンクをハイライトして目立たせたい。ただし、

  1. 条件は、正規表現で指定。
  2. 除外条件も設定できること。

デフォルトでは、開いているページのホスト名ではじまるリンクのみをハイライトする。

 

2. 使い方

前提: Greasemonkey がインストールしてあること。

こちらをクリックしてインストール → highlight_link.user.js

 

3. 実装方法

リンクを目立たせるために、DOM 要素の style プロパティを設定する。

CSS – MDC には、Gecko1.8+ DOM において、要素の style プロパティで設定できる項目の一覧がある。

The following is a list of the CSS properties that are supported in the Gecko 1.8+ DOM and accessible by means of the style property on elements.

style プロパティを設定するとき、同じ要素に対して複数のプロパティを設定する。この場合、JavaScript の with – MDC を使うと書きやすい。

要素の反復については、「JavaScript における 3 つの for 文」を参照。

 

4. 実装

使い方は、

  • `INCLUDE_REGEXP’ に、 ハイライトしたい A タグの src に含まれる文字列を正規表現で指定する。
  • `EXCLUDE_REGEXP’ に、 ハイライトしたくない A タグの src に含まれる文字列を正規表現で指定する。 (省略可)

// ==UserScript==
// @name           highlight link
// @namespace      http://jutememo.blogspot.com/
// @description    特定のリンクを目立たせる
// @include        http://*
// ==/UserScript==

(function() {
 // 対象にしたい a タグの src に含まれる文字列を正規表現で指定
 var INCLUDE_REGEXP = "^" + location.protocol + "//" + 
          location.hostname + ".*()";
 // 除外したい a タグの src に含まれる文字列を正規表現で指定
 var EXCLUDE_REGEXP = "";
 
 // 指定された要素を目立つようにする
 // cf. CSS - MDC 
 function highlightElem(e){
  with(e.style){
   backgroundColor = "#fcc"
   borderWidth = "1px";
   borderColor = "#f00";
   borderStyle = "solid";
   borderWidth = "3px";
//   fontSize = "large";
  }
 }
 // リンクを除外するための正規表現オブジェクトを生成
 function createExcludeRegExp(){
  return EXCLUDE_REGEXP ? new RegExp(EXCLUDE_REGEXP) : null;
 }
 function highlight(re, notRe){
  var anchors = document.getElementsByTagName("a");
  for (var i = 0; i < anchors.length; i++){
   href = anchors[i].href;
   if (!href.match(re) || href.match(notRe)) continue;
   highlightElem(anchors[i]);
  } 
 }
 
 highlight(new RegExp(INCLUDE_REGEXP), createExcludeRegExp())
})();

2008年9月19日金曜日

Spket IDE で Greasemonkey

Greasemonkey の編集エディタを Spket IDE に設定

Spket IDE については、「Spket IDE, Firebug を使って JavaScript」を参照。

ウィンドウ右下の Greasemonkey のアイコンで右クリック > ユーザスクリプトの管理

080919-001

 

表示されたウィンドウの左下の「編集」ボタンを押す。

080919-003

 

使用するエディタを設定するためのダイアログが表示されるので、c:\Program Files\spket\spket.exe を選択する。この設定は、 ロケーションバーで、 about:config > 「greasemonkey.editor」に保存される。エディタを変更したい場合は、この値を変える。

 

スクリプトの作成

先ほどと同じ Greasemonkey のアイコンで右クリック > 新規ユーザースクリプト でダイアログが表示される。

080919-004

OK ボタンを押すと、 Spket IDE で開かれる。

 

テンプレート

作成するスクリプトは、他のスクリプトに影響を与えないようにブロックスコープ入れた方がいいみたい。 (cf. JavaScript のブロックスコープ)

// ==UserScript==
// @name           hoge
// @namespace      http://jutememo.blogspot.com/
// ==/UserScript==
(function () {
        //ここに実際のコードを書く
})();

 

ログの出力

3.2. Logging with GM_log [Dive Into Greasemonkey] によると、

Greasemonkey provides a logging function, GM_log, that allows you to write messages to JavaScript Console.

GM_log(“ログ情報”) というように使う。 (cf. GreaseMonkeyでalertを使わないでデバッグする方法 )

 

表示先

Firefox のメニューより、「ツール > エラーコンソール」を選択すると、デバッグ情報が表示されるウィンドウがでてくる。

080919-005

 

追記(2008.9.20) : Firebug のコンソールの右上のオプション「クロームのエラーを表示」にチェックを入れたら、Firebug でも GM_log() によるログの出力が表示された。

追記(2009.9.25) : 「クロームのメッセージを表示」のチェックも必要。

080920-007

また、Greasemonkey + Firebug + GM_log - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 – subtech によると、

Firebug 1.0 以降では extensions.firebug.showChromeMessages を true にしないと GM_log のメッセージが表示されないらしい

2008年7月17日木曜日

Firefox の 検索バーで素早く単語を置き換え検索を繰り返す

ブラウザにおいて「検索」は最も頻繁に行う操作の一つ。これをスムーズに行えないと非常にストレス。 (+_+)  検索して一度で目的のものに辿りつくこともできれば、そうでないときもある。単語を入力してもなかなか見つけることができない。 OR - site: inurl などを使って徐々に目的のものに近付いていく。もしくは、入力した単語を別のものに置き換えターゲットを絞っていく。

080717-001検索バーを使って検索した場合、そこには直前に検索した単語が入力されている。入力した一部の単語を変更して検索を繰り返したい場合、マウスを使うのであれば、置き換えたい単語をダブルクリックして文字列を選択状態にし、新しい単語を入力することによって上書きする。マウスを使うならこの操作が効率的。

 

Ctrl + Backspace

それに対して、キーボードから手を離したくないなら、次のような操作が (多分) 一番効率がいい。 例えば、検索バーで次のような単語が直前に検索されていたとする。

本日 晴天 なり

ここで、「晴天」を「曇天」に変更して再度検索したいとする。

  1. Ctrl + K で検索バーにフォーカスを戻す。
  2. Ctrl を押しながら ← を 2  回押し、「晴天」の直後にカーソルを持っていく。(SKKIME なら 1 回 でよい。)
  3. Ctrl + Backspace で「晴天」を削除。
  4. 「曇天 」と入力してエンター。

ここでは、二つの操作がポイントとなる。

  • 「Ctrl + 矢印」によって単語単位でカーソルを移動させる。
  • 「Ctrl + Backspace」 にって単語単位で前方向に削除する。

これだとカーソルと Backspace を何度も押す必要がないので、キー操作がスムーズになる。これらの操作は他のアプリケーションでも用いることができる基本的な操作だが、アプリによって微妙に動作が違うようだ。 (+_+) うーん...

 

Ctrl + Delete

SKKIME を使っている場合は、「晴天」の前にカーソルを持っていき、Ctrl + Delete を使うと後方向に単語単位で削除することができる。  MSIME の場合、同様のことをすると「晴天 なり」まで、つまり最後まで削除された。

 

LDRize

080717-002LDRize の中の一つの機能として、Google で検索をしているときに、 f キー を押すことによって検索フィールドにジャンプできるのでとても便利。そこで上記と同じ操作をするとよい。

 

インストール

LDRize を使うには、Greasemonkey がインストールされていること。そして、Minibuffer がインストールされていることが必要となる。

また、ユーザスクリプトの管理画面 (ツール > Greasemonkey > ユーザスクリプトの管理) において、Minibuffer の方が LDRize よりで上になるように配置しておく。

2008年3月29日土曜日

Firefox で リンクの作成 - MakeLink から Build Link へ乗り換え

1. Menu Editor と相性が悪いので、Make Link を使うのをやめた

他人に自分が見ているサイトを教えたり、ブログで引用するとき、「タイトル」と「アドレス」の両方を伝えることは欠かせない。

Firefox のアドオン Make Link を使うと、この2つの情報をコンテキストメニューから一度に取得できる。カスタマイズも容易なので重宝していたが、一つ問題があった。それは、アドオンをたくさん入れると、コンテキストメニューの項目が増える。これにより、Make Link を選択するために、コンテキストメニューから項目を探す必要があり、それにストレスを感じる。

これに対して、Menu Editor を利用すると、コンテキストメニューに表示されう項目をカスタマイズできる。しかし、Make Link との相性が悪い。 Menu Editor によるカスタマイズは、自分にとって必須なので、Make Link を使うことを諦めた。

 

2. Build Link は操作がスムーズ

Greasemonkey スクリプトである Build Link は、Make Link と同じ機能を持っている。

080329-003Build Link は、見ているページ上で引用したいテキストを選択するとアイコンが表示され、マウスオーバーで形式を選んでコピーする。Make Link と違って、コンテキストメニューから選択する操作をする必要がない。一連の操作を流れるようにスムーズにできる。 ^^

コピーできる URL の形式として、tinyURL を選べるのも気がきいている。驚きだったのは、Make Link のようなカスタマイズも、簡単にできること。そこで、Build Likn に乗り換えることにした。

 

関連記事

2008年2月28日木曜日

K-Meleon で Greasemonkey を利用する

K-Meleon 1.1.4

Greasify 0.7.9.3.3

 

インストール

Greasify User-Script Macro For K-Meleon - Greasemonkey Equivalent に従ってインストールした。

 

右クリックして、「名前を付けてリンク先を保存...」。

080228-010

 

C:\Program Files\K-Meleon\macros にダウンロードした○○.kmm ファイルを置いた。

 

K-Meleon を再起動すると、メニューの Tools Greasify があることがわかる。

20080228-005

 

設定

次に、スクリプトのための 「Userscripts ディレクトリ」を作成する。場所はどこもでもよいようなので、K-Meleon をインストールしたディレクトリに gm フォルダを作成した。

Tools > Greasify > Set Userscripts Directory で 上記の「gm フォルダ」を指定する。

 

スクリプトを試す

2.1. Hello World [Dive Into Greasemonkey]helloworld.user.js を試してみた。スクリプトをダウンロードし、gm フォルダに置いた。

Tools > Greasify > Add User Script To Repository でスクリプトをインストールする。ただし、インストールする前に、以下のような変更をした。

Greasify User-Script Macro For K-Meleon - Greasemonkey Equivalent によると、

For a script to apply on all pages you must use http://*, https://* or ftp://* rather than just *. If you are having trouble getting a script to apply, try changing the include URL to a simple http://*.whatever.com/*

上記のサンプルスクリプトである helloworld.user.js では、ヘッダが以下のようになっていた。

// @include       *
これを次のように変更した。
// @include        http://*

このスクリプトをインストールしたら、動作した。

 

スクリプトのヘッダについて

Greasify User-Script Macro For K-Meleon - Greasemonkey Equivalent によると、

Userscript headers that don't conform to the "official" standard may prevent the script from being applied (see the greasemonkey XPI in subdir chrome/chromeFiles/content/template.user.js)

template.user.js を見ると、以下のようになっている。この書式に添ったヘッダでないと動作しないようだ。

// ==UserScript==
// @name           User script template
// @namespace      http://mywebsite.com/myscripts
// @description    A template for creating new user scripts from
// @include        http://*
// ==/UserScript==

2007年11月15日木曜日

はてなダイアリーで、検索で抽出した日記の内容を時系列の昇順で表示させる

ある人の日記の中に、特定の単語が含まれているかを検索をして、その結果を時系列で読みたいことがある。しかし、はてなダイアリーでは、検索した結果を昇順にして、時系列を追って読むということができないようだ。

時系列で読むには、はてなダイアリーの過去ログを日附昇順に竝べ替へるユーザスクリプト - MORIYAMA Hiroshi's Diary にある スクリプトを利用するとよい。

 

前提

Firefox のアドオンに Greasemonkey がインストールされていること。

 

スクリプトのインストール

まるごとJavaScript & Ajax ! Vol.1 によると、

書いたコードを test.user.js など「.user.js」で終わるファイル名で保存し、Firefox で開きます。するとインストールするかを尋ねてきます (p160)

まるごとJavaScript & Ajax ! Vol.1 

まるごとJavaScript & Ajax ! Vol.1 天野 仁史 舘野 祐一 川崎 有亮


Amazonで詳しく見る
by G-Tools