カテゴリ「Firefox 」の記事一覧

YakAlike を使い易くする方法

Firefox で新しいページを開く時にセキュリティレベルなどを調節できる拡張…が欲しい

『Greasemonkey』でどこでも『あれこれポップアップ』

Firefox でどこでもチャットができるよう用になる『YakAlike』の新規アカウント登録が再開

Firefox でサイドバーの機能を分割表示する拡張『Sidebar Mix』

Firefox でどこでもチャットができるよう用になる拡張機能『YakAlike』

Firefox で放り投げGoogle検索

Firefox と JSActions でどこでもサイト内検索

Firefox のユーザスタイルを詳細に管理できる拡張『Stylish』

Firefox で JavaScriptオフ でもユーザスタイルシートを手軽に切り替える方法

Firefox で閲覧中のページのスクリーンショットを簡単に保存できる拡張 『Pearl Crescent Page Saver』

Firefox1.5 の脆弱性への対応とその他

Firefox のメニュをまとめて、ちょっと便利にする拡張『All-in-One Menu』

Firefox のメニューの表示を変更できる拡張 『Compact Menu』

Fierfox1.5 への乗り換え

Firefoxで表示した画像を自由に拡大・縮小できる拡張『Image Zoom』

Firefox のスクロールを便利にする拡張機能『Scrollbar Anywhere』

連番のURLを簡単に前後移動できるようになるFirefox用の拡張『EZNav』

Firefoxのサイドバーを分割したい

Firefoxのタブの閉じ方

Firefox使いのWeb文章書きにはあると便利な拡張機能 『Copy URL+』

Firefox 使いへの幾つかの質問に対する回答

TargetAlert と PDF Download

Greasemonkey

キツネじゃなくてレッサーパンダだった。

YakAlike を使い易くする方法

随分と前に紹介しました YakAlike ですが、バージョンアップを繰り返し使い易くなったようです。それでも不満は幾つかあって、今回はそれを解消してみました。

最初の不満は画面を分離できない事でした。最新版のYakAlikeならば新しくウインドウを開いてやって、画面の幅を調節してやればそれでそれなりの体裁を保てますが、そのウインドウ自体が不必要なサイトを開いているのがなんとも美しくない。また、右クリックが利かなかったりコピペが面倒だったりアドレスを開けなかったりするのも使い勝手が悪い。そこで偶然見つけたのがYakAlike本来のアドレスです。これを直接ブラウザに表示させれば良いのではないかと考えた結果、なんとIEだろうがOperaだろうが問答無用で動きました。一般的なチャットルームにいるのと同じ感覚です。そのアドレスというのはhttp://chat1.yakalike.com/jchat/?YAKKEY=個別の文字列&YAKNICK=アカウント名&YAKCOLOUR=%23文字色&CURRENTURL=チャンネルのアドレスのような感じです。

手順としてはYakAlikeを起動させたいサイトに行き先ずはログインします。そうしたらJavaScript(ブックマークレット)など何らかの手法で上記のアドレスを収得します。私の場合はJSActionのIEで開くという機能を使ったらたまたま収得できました。window.location か何かを使えば良いのできっと簡単でしょう。出来ない人はとりあえずhttp://chat1.yakalike.com/jchat/からログインしてみればどのような感じなのかを掴めると思います。

こうして画面を別ウインドウにする事ができたらもう後はアイディア次第です。とりあえず私は Stylish を用いてユーザCSSを当てて利用し易いようにしました。Greasemonkey を使えばもっと素晴らしい事も可能でしょうし、常に前面に表示させておく事も可能でしょう。格段にとまでは言えませんが、それなりに使い易くなったと思います。時間が無くて説明が優しくありませんが、YakAlikeを常用している人や、使いたいけれどUIが気に入らないという人はチャレンジしてみてはいかがでしょうか。右クリックも可能ですし複数起動も可能です。


Firefox で新しいページを開く時にセキュリティレベルなどを調節できる拡張…が欲しい

私は普段 NoScript という拡張を利用してJavaScriptオフの状態でブラウジングをしていますが、JavaScriptをオンにしなければならないだろうとページを開く前にわかることもあります、そういった時にいちいちページを開いてからJavaScriptの設定をするのは面倒です。もちろんよく利用するサイトについてはドメイン単位でJavaScriptを許可しているのでさほど不便では無いのですが、単発的なページの場合はそういった訳には行きません。そこで新しいページを開く時にJavaScriptの挙動を設定して開けるような拡張があったらなと思いました。

流石にこれだけでは弱いと思うので、FlashやJAVA、画像の表示、色の設定、CSSの設定、IEで開く、ソースを表示、Another HTML-lintでチェック、リファラの設定、ページ情報の表示、ウインドウサイズの設定…などその他諸々の項目をリンク先を○○するというような感じで開けたらどうでしょう。リンク先をJavaScriptオフの状態で開くとかリンク先のページ情報を開くとかリンク先を画像非表示で開くなどといった感じです。ここで挙げたような機能は色々な拡張を導入すれば可能ですし、一端ページを開いてからならば Web Developer でその殆どが実現可能ですが、ページを開く前に、リンク先をという所に重点を置いてまとめられた拡張は無いものでしょうか。

追記(2006年2月17日13時45分)

よく考えたら JSActions で実現可能のようですね。


『Greasemonkey』でどこでも『あれこれポップアップ』

事の発端は 試行錯誤 というエントリでした。あれこれポップアップのクールさが非常に気に入ったので自分用に Firefox の拡張にしてどのページでも表示できないものかという言葉に出来るかもなんて思ってしまったのがいけなかった。身の程を知れというのだ。私よ。

最初に考えたのが JavaScript Actions で埋め込む方法です。以前CSSを読み込むための要素を生成してユーザCSSを利用する方法を 書いた のでその要領でCSSファイルとJSファイルを読み込んでやれば良いのではないかという発想です。しかしそれ以前にscript要素を生成する為の書き方がわからない。仕方がないので Traversing the HTML Table with JavaScript and DOM interfaces を読みながら勉強しました。これを応用するのに相当の時間が掛かりました。それで出来上がったのが以下のソース

var mybody=document.getElementsByTagName("head").item(0);
			myjs = document.createElement("script");
       mybody.appendChild(myjs);
       myjs.setAttribute("src","http://raraweb.fc2web.com/ArekorePopup.js");
       myjs.setAttribute("type","text/javascript");

あまり理解していないのだけれどこれで動くのだから良しとします。このスクリプトを引き下げていざ JavaScript Actions に導入しようと試みたのですが敢無く失敗。まだ試行すべき事は残っていますが、疲れてきたので greasemonkey を利用してみる事にしました。しかしここでも greasemonkey用のスクリプトの書き方がわからないという問題が発生。また勉強のし直しなのかと諦めようと思いましたが、とりあえずそのまま入れてみようと実験。書き方は パソコン遊戯さんの User JavaScript for Mozilla Firefox をそのまま参考にさせて頂きました。それで書き上げたのが以下です。

// ==UserScript==
// @name            DokodemoArekorePopup
// @namespace       http://harmony.blog5.fc2.com/
// @description     You can achieve 'ArekorePopup' anywhere. 
// @include         *
// ==/UserScript==

(function() {			
 if(document.all)
  document.createStyleSheet('http://raraweb.fc2web.com/ArekorePopup.css');

 else if(document.styleSheets){
  var nLink=document.createElement('LINK');
  
  nLink.rel="StyleSheet";
  nLink.type="text/css";
  nLink.href="http://raraweb.fc2web.com/ArekorePopup.css";
  var oHEAD=document.getElementsByTagName('HEAD').item(0);
  oHEAD.appendChild(nLink);
}
var mybody=document.getElementsByTagName("head").item(0);
			myjs = document.createElement("script");
       mybody.appendChild(myjs);
       myjs.setAttribute("src","http://raraweb.fc2web.com/ArekorePopup.js");
       myjs.setAttribute("type","text/javascript");

})();

先頭は greasemonkey 用の書式です。続くのが <link rel="StyleSheet" href="" type="text/css"> という要素を生成し挿入する為の物で、最後の部分が前述したスクリプト(<script src="" type="text/javascript"></script>)を埋め込む為の物です。簡単に説明すると あれこれポップアップの設置マニュアル に書かれているとりあえず設置HTML記述例を全てのページに挿入させるためのスクリプトです。このスクリプトを greasemonkey にインストールすれば殆どのページであれこれポップアップを動作させる事が可能です。ご利用になられる方は上記ソースをメモ帳などのテキストエディタに写した後に、強調部分のURIをご自分であれこれポップアップの一式を置いた場所に書き換え、適当な名前(DAP.user.js)を付けて保存し、それを greasemonkey にインストールして下さい。

導入方法と注意点
  • とりあえず greasemonkey が無いと動きませんので greasemonkey より拡張をインストールして下さい。
  • あれこれポップアップ を任意のサーバに準備します(設定まで全て完璧に)。
  • 上記スクリプトをテキストエディタに写した後に、強調部分のURIをご自分であれこれポップアップの一式を置いた場所に書き換えます。
  • そうしたら適当な名前(DAP.user.js)を付けて保存します。
  • ファイル名はどこでもあれこれポップアップの頭文字。.user.jsというのはその必要があるようなので。
  • 保存した DAP.user.js を greasemonkey にインストールして下さい。
  • 完了したら greasemonkey と JavaScript の両方が有効になっているのを確認した後に任意のページに移動して確認してください。
  • ちなみに当サイトでは既に導入済みなので実験の場としては適当ではありません。
  • 宜しければ 本家サイト別館 でどうぞ。
  • オンとオフの切り替えは 適用サイト利用者向け FAQ の方法で行うか、JavaScript をオフにするか、もしくは greasemonkey の設定で簡単に行えます。
  • もちろんgreasemonkeyを組み込んだFirefox限定
  • でも user.js が使用できるならばOperaでも少々の書き換えで行けるかも
  • 同様にIEは無理でもSleipnir辺りならなんとかなるかも
サンプル
一時的にどのような挙動になるのか試したい方は以下のスクリプトを greasemonkey にインストールすると簡単に確認できます。ただし多くの方が利用されますとサーバに負荷が掛かると思いますのであくまでも一時的な利用に限ります。また、あれこれポップアップの設定についても私が指定したものになります。
使用にあたっての幾つかの注意
再三申し上げています通り、私は JavaScript で Hello, world! を表示させる事すら説明を読みながらでないと危ういというほどの知識しか有しておりません。よって上記スクリプトにおいてどのような問題が発生したとしても何の責任も持てませんのでご利用は自己責任でお願い致します。また、あれこれポップアップをこのように使用してよいのか確認を取っていませんので怒られたら直ぐに消します。「娘娘飯店しるきぃうぇぶ」について を読むと流用という箇所について限りなく黒に近い気がします。
残っている課題など
  • あれこれポップアップの作者である ありみかさとみさん に許可を得る
  • greasemonkey用スクリプトの正常化(誰か)
  • 特に他のスクリプトとの競合が心配
  • ローカルに置いたファイル(あれこれポップアップ)を読み込めるか実験する
  • 通常ブラウジングがJavaScriptオフでも動くようにしたい
  • JavaScript Actions で動かせるようにもう少し実験
  • greasemonkey 無しでも動かせたら
  • 拡張化なんていうのも面白いかもしれない
感じたことや呟き
  • スクリプト要素を生成する為のスクリプトが簡単に書ければこんなに時間は掛からなかった。これに異常なほどの時間と労力を費やした。
  • だってわざわざ DOM Inspector まで導入して確認したのに不具合が見つからずにずっと動かなかった。
  • 必要もないのに 拡張を創る勉強 もしたので時間が掛かった。
  • greasemonkey を怖がっていたのは間違いでした。
  • JavaScript で可能な事ならば本当に全てが可能っぽい。
  • 難しい書き方をしなくても上のような方法で外部から直接読み込んでしまえば無問題。
参考サイトなど

追記(2006年01月22日12時20分)

『はてブ』のコメントで知りました。本当にごめんなさい。一度でも 検索してみるべき でした。申し訳ございません。


Firefox でどこでもチャットができるよう用になる『YakAlike』の新規アカウント登録が再開

どうやら YakAlike が新規アカウントの登録を再開したらしいです。サイトへ移動して nicknamepassword そして email を登録すると正規のアカウントでログインが可能になります。

使用法などの詳しい事は 先日のエントリ をご参照下さい。これで少しでも利用者が増えると良いのですが。ちなみにクリーンアップスクリプトも働くようになったようですが、まだ色々と不安定な部分もあるようです。


Firefox でサイドバーの機能を分割表示する拡張『Sidebar Mix』

今日は 三軒隣の斜め向かいさん経由で、ついに Firefoxのサイドバーを分割したい という念願が叶いました。まだ正式に公開されている訳ではなさそうですが、この Sidebar Mix という拡張を導入すれば(現在はBBSにあります)、複数のサイドバーを同時に表示する事が可能になります。例えばブックマークと履歴を表示させたり、sageとbbs2chreaderとFoxage2chを同時に表示させたりと、現状では最大で4つまで指定する事が可能なようです。配置の仕方も縦に分割させたり横に分割させたりそれを混在させたりと自由です。正に至れり尽くせり。

インストールはいつもの通りです。Firefoxを再起動させたらツールバーのカスタマイズから Sidebar Mix のボタンを追加して下さい。そしてクリックするとサイドバーが表示されてブックマークと履歴が同時に表示されると思います。今度はこの表示を編集します。ツールの拡張機能から設定画面に移動しても良いですが、ボタンを中クリックすると設定画面に直行できます。設定は簡単で、先ずは全体を横に分割する(horizonal)か縦に分割する(vertical)かを決めて下さい。そうしたら次に分割した一方に何を表示するのかを指定します。最初に上下に別けたのだとしたら上(box1)に何を表示するかを決めます。ここでもまた上下に分割するか左右に分割するかを指定できます。分割させたくない場合は一方の hidden にチェックを入れると非表示になって分割されません。これらの組み合わせによって表示形式や機能を自由に配置する事が可能になっています。ちなみに表示させたい機能のパスは以下のページから探すと良いでしょう。英語ですがなんとかなると思います。

とりあえず私はブックマークと翻訳パネルを表示させてみています。翻訳パネルのパスは探しても見つからなったのですが、他から予想して試行していたらchrome://Translation/content/Translation.xulで表示されました。

それにしても長らくの念願が叶って少々興奮しております。作者の方には本当に感謝しています。まだ何をサイドバーに常駐表示させたら本当に便利なのかが思いつかないので少々宝の持ち腐れ気味ですが、直ぐに何か見つかる事でしょう。とても楽しみです。


Firefox でどこでもチャットができるよう用になる拡張機能『YakAlike』

sta la staさん経由で知ったのですが、YakAlike という拡張はとても面白いかもしれません。この拡張をインストールすると、同じサイト(ドメイン(チャンネル)別)を見ている人とチャットが可能になります。助長な説明は不要でしょう。導入してみれば使用法などは直感的にわかります。

導入方法は他の拡張と同じように行えば完了します。必要に応じてツールバーにYakalikeのボタンを加えると良いでしょう。まあステータスバーのYakalikeのアイコンをクリックしても起動するのでお好きな方を。起動すると以下のような表示が表示領域の下部に出現します。

本来ならばここにyakalikeのアカウントを記入してログインするのですが現在は

Why can't I sign up right now?

yakalike became more way too popular way too quickly. An update is currently being developed to be able to handle more users reliablaly. Yak about the sites you visit

という事で休止中らしいので、Use Temporary Nicknameの方でログインをしてみます(once servers are stable enough, registration will be re-enabled.との事なので復旧を期待しましょう)。すると以下のようにチャット画面が表示されます。

channelというのがサイト(ドメイン)別に割り当てられた領域で、その横の一覧が yakalike にログインして(そのサイトを閲覧して)いるユーザの一覧です。この状態のまま様々なサイトを巡ってみると良いでしょう。運良くログインユーザを見つけたら話しかけてみても面白いかもしれません。当サイトに書き込んで頂ければ返事をするかもしれませんし、練習になるかもしれません。

しかし現状では幾つか(仕様的な)問題(?)があるので列挙しておこうと思います(道徳的な問題は本論とは逸れるので除外)。

問題と仕様
  • Use Temporary Nickname の場合はアンダースコアを含めて三文字以上?
  • ユーザ名は日本語は通らないらしい
  • JavaScriptがオフだと正常に動作しない
  • ドメイン別であってサイト別ではない(必ずしも厳密に同じページを見ているとは限らない)
  • 時間がおかしい(どこの国の基準?)
  • 表示部が弄れない(と思う)
  • 自動リンクなどはされない
  • HTMLを使用できない(強調表示やリンクも不可)
  • コピペなどログに対する操作が(マウスで)できない(Ctrl+Cなどのキーボード操作は可能でした)
  • Enterで送信されてしまう(誤送信)
  • 入力を確定しないで他のサイト(タブでも)に移って戻ると、フォームに記入した文字が消えてしまう
  • 長文を投稿した後はフォームへのフォーカスがおかしくなる。具体的にはキャレットが上手く表示されない。
  • 全てのタブでチャット窓が開きっ放しなのは邪魔(閉じても退室扱いにはならないが)
  • 未入力でも投稿可能(ログ流す時は say(Enter)連打)
  • ブラウザ表示部より選択文字列をフォーム部にドラッグすると文字列が二重になる。
  • ひとつのレスにつき全角で85文字まで
  • 10個を超えると自動的に古いものから削除される
  • ログはデータベースに書き込まれていて、現状ではクリーンアップスクリプトが働いていない
  • ↑次の更新では1チャンネル辺り最新の50のメッセージに限り収納されるようになる
  • 相手の状況がわからない(ページを表示したまま寝ているかもしれないし席を離れているかもしれない)
現時点で不明な点(誰かと実験をすれば直ぐに解消される)
  • ログイン状態でチャット窓を開かずに別タブで他のサイトを巡回している時はその巡回中のチャンネルのリストに名前は表示される(入室扱いになる)のか?(ログインをしていると、どんな状態でもタブやウインドウでそのページを開いている限り入室扱いになるのか?)
解明済み
  • 別タブに移動してもそのサイト(ページ)を開いているタブが残っていれば、他者にはそのサイトを閲覧し続けているように見える。つまり別タブで調べ物をしながらの会話もOK。退出しているようには見えない。(と思う)
  • 別ウインドウでも然り(だから名前が表示されてもそこを見ているとは限らない。開いたタブとウインドウ(ページ)の分だけ名前がリストに表示され続ける)
  • 別タブでログアウトしても元のページが残っていれば一覧からは外れない(つまりずっとそのページを見続けているように思われる)
  • が、ログアウトは有効になる為に再度書き込む場合はログインが必要
  • そこに居ないように伝えるには同一タブでページを遷移するかログアウトする必要がある
  • ログインを保持したままの状態でチャット窓を閉じても退室扱いにはならない(リストには残ったまま)
要望のようなもの
  • ユーザの情報を表示できた方が交流し易いか
  • ↑正規のアカウントならば可能か?
  • URIなどの自動リンク
  • 強調表示
  • マウスの右クリックを可能に
  • 表示部の幅やデザインを編集可能に
注意したい事
  • ブラウジングスタイルがタブ保持型の人はそのページをずっと見ているかのように思われる
  • 同様にリストに名前があってもそのページを見ているとは限らない(気にしない(無視できる)事が大事。話しかけて返事が無い場合は、そのページ(タブ)を見ていない可能性がある事を知っておいた方が良い)
  • ドメイン別なので必ずしも厳密に同じページを見ているとは限らない
  • 複数人居る場合は話しかける相手を明確にしないと混乱が生じたり気不味い雰囲気になる(ゴメンナサイ)
  • ログインしたまま如何わしい(に限らず訪問を知られたくない)サイトを訪問したら誰かとバッタリなんて事もあるかもしれない
  • Temporary Nickname の場合は相手が確定しない
使い道
  • 特に思いつかないなぁ…
  • コメント欄を開放していないブログや掲示板を設置していないサイトでの訪問者同士の交流?(需要は無さそう)
その他
  • チャット用にウインドウを別に開いて、ブラウジングはもう一方のウインドウで行うとか
  • 人が少ない…のに出会うと逃げる人が多い

この技術が広く認知されて需要が拡大し、同時に AllPeers のようなP2Pを用いたファイル共有が実現されるようになれば、既存のブラウジングからは少し踏み出した新たな世界に突入するのかもしれません。更に Ver2.0 が公式発表されたばかりの Skype のような音声や映像の遣り取りをする技術が入り乱れれば、そこにはまた新たな可能性が芽生える事でしょう。本当に楽しみです。


Firefox で放り投げGoogle検索

Firefox1.5 の脆弱性への対応とその他右クリックからの検索と翻訳で右クリックからの検索や翻訳を利用していたのですが、翻訳サイトに渡す時に文字数制限があるのか、半角で200文字程度しか送れなくて不便でした。そこで改めて 翻訳パネル を入れ直したところ、とても使い勝手が良いので気に入っています。これで必ずしも Search Station を利用する必要がなくなったので、変わりに All-In-One Search buttonSearch Button を導入してみました。スペース的にも使い勝手もなかなか良い感じです。

さて、検索ボックスの仕様を変更したついでに、右クリックからの検索や検索ボックスへのコピペよりも楽なGoogleでの検索方法を探したところ、Super DragAndGoSearchBox Sync という二つの拡張を併用するのが便利だろうという結論に達しました。

Super DragAndGo

リンクや選択テキストをドラッグアンドドロップして開いたり,画像をドラッグアンドドロップして保存したりできる拡張 Super DragAndGo

で、検索したい文字列を選択した後に、Firefox の表示領域内にドラッグ&ドロップするとGoogleでの検索結果を表示してくれたりします。SearchBox Sync は、Googleなどの検索ボックスとFirefoxの検索ボックスを自動的に同期してくれる拡張です。つまり検索ワードを選択後にドラッグ&ドロップをすると、Googleによって検索され、そのキーワードがFirefoxの検索ボックスにも自動的に挿入されるようになります。

今のところ Super DragAndGo はGoogleでの検索しか出来ませんが、将来的には設定できるようにするかもしれないとの事です。SearchBox Sync は既に自分で好きなサーチエンジンを登録する事が可能です。という訳で Super DragAndGo の開発が進めばGoogle以外でも同じような方法での検索が可能になる事でしょう。

ちなみに検索したい語句ををFirefoxの検索ボックスにドラッグ&ドロップをすれば良いのではないかという話もありますが、検索ボックスまで持って行くのが面倒なのと、それをやると Firefox がよく落ちるので利用していません。それから新規タブで開いてくれないのも難点です(Altキーを押しながらだと開くかも)。Search Results in New Tab などを使用すれば良いのですが、落ちるかもしれない機能を常用する事はさすがに躊躇しています。


Firefox と JSActions でどこでもサイト内検索

先日紹介しました JSActions と JSAButton があまりにも私のブラウジングスタイルにマッチしているので再度ご紹介。私はJavaScriptによる無駄な機能が煩わしいので、通常はJavaScriptをオフにして閲覧している為に、便利なブックマークレットも使えずにいたのですが、この拡張によってそんな状況を脱する事が出来ました。

ブックマークレットで出来る事、いや、JavaScriptで可能な事は殆どが実現できてしまうような拡張なので、何を紹介すれば良いのか迷いますが、一番驚いた 現在のURL以下の範囲にあるページを検索 というスクリプトを推したいと思います。これは

レンタルホームページスペースなどを利用するなどして独自のドメイン名を持たないサイトでも、サイト内検索(のようなもの)ができるようにしたものです。Googleのサイト内検索機能とinurlパラメータを使って、現在のURL以下の範囲にあるページを検索します。 現在のURL以下の範囲にあるページを検索 [JSA]

という説明にもあるように、サイト内検索という機能を提供していないサイトにおいてもGoogleの検索機能によってそれを実現させてしまう機能です。スクリプトを任意の場所に移して実行すると、

ページ上のテキストを選択した状態で実行すると、選択した文字をキーワードにして検索を行います。何も選択していない状態で実行すると、キーワードを入力するダイアログが表示されます。ダイアログでキーワードを入力せずに「OK」を押すと、現在のURL以下のすべてのページを表示します。 現在のURL以下の範囲にあるページを検索 [JSA]

というような挙動になります。私は JSAButton を用いてツールバーにボタンを配置しています。検索したくなったらそのボタンをクリックするとダイアログが出現し、そこにキーワードを入力して検索しています。もちろん検索したい言葉を選択した後にボタンをクリックすれば直ぐに検索が実行される。

もっと他にも各自のブラウジングスタイルに合った便利な機能はたくさんあると思うので、Get Script から探したり、色々なサイトで配布されているブックマークレットなどを改変したりすればとても便利になると思います。ちなみに私が現在ツールバー(ステータスバー)に表示させているものは以下の十種類で、左から順に、ユーザスタイルシートへの切り替え(CSSをオフに)、Googleでサイト内検索、IEで開く、Operaで開く、HTML-lintで検証、メディアのアドレスを表示、外部CSSを表示、はてなRSSに追加、はてなブックマークに追加、Amazonのリンク作成です。

Web Developer などの拡張ならば一つのアイコンでいくつかの機能をツリー表示する事ができますが、私はそのワンアクションすら面倒に感じ、そして使わない機能も多数あるので一つのアイコンは一つの機能に絞っています。おかげで Status Buttons を使用してステータスバーに表示しているアイコンも半分くらいまで侵食してきました。もっともっと便利にして行く予定なので足りなくなるかもしれません。その際には Toolbar Enhancements を用いて縦置きにしようかなと思い試用してみたのですが、どうにも上手く表示がされないので困っています。

それにしてもこの JSActions という拡張は本当に凄いです。この拡張を使用することによって必要のなくなる拡張も多数存在する事でしょう。直ぐに思いつく範囲で言うと、Compact MenuImage ZoomCopy URL+ の機能は充分に供えているでしょう。


Firefox のユーザスタイルを詳細に管理できる拡張『Stylish』

…が最強過ぎる件についてなどと不貞腐れて書きたいくらいに、Firefox で JavaScriptオフ でもユーザスタイルシートを手軽に切り替える方法ユーザスタイルシートの常用を尻込みしている幾つかの理由 のエントリが見事に淘汰された気がします。それくらいこの stylish という拡張は求めていたものそのものだと思います。

簡単にどのような事ができるのか説明すると、サイト毎(URIで判断)のユーザCSSを簡単に書く(設定する)事ができ、それを stylish.rdf というファイルで個別に保存する事によって、指定したサイト(URI)では常にそのスタイルが適用されるという物です。問題だった有効無効の切り替えはステータスバーのアイコンから簡単に可能ですし、ページ遷移後も指定が保たれるのも素晴らしいです。実際にスタイルを書く時にも、URIの完全一致、前方一致、後方一致を選択するだけで、どの範囲のURIにそのスタイルを適用するのかも簡単に設定できます。一言で言えばユーザスタイルシートを(URI毎に)小分けにでき、それぞれの有効無効を簡単に切り替える事が出来る拡張です。

あまりの便利さと、前二つのエントリの徒労さを考えると更に事細かに説明したくなったのですが、朝顔日記SmallStyle にてわかり易く解説がされていますのでそちらを参考になさってみて下さい。

絶賛はしていても現時点では不満な点もいくつかあります。不満と言うよりも不明と言った方が良いかもしれませんけれども。それを以下に列挙して置こうと思います。先ずは要望と言うか疑問です。

以下は不具合。


Firefox で JavaScriptオフ でもユーザスタイルシートを手軽に切り替える方法

先日の ユーザスタイルシートの常用を尻込みしている幾つかの理由 というエントリで、常用ブラウザが Firefox で JavaScript がオフだから というのを理由に挙げましたが、Firefox愛用者としては納得がいかず、言い訳に過ぎないと思ったので、Firefox で JavaScriptオフ でも(任意・複数の)ユーザスタイルシートを簡便に切り替える方法を考えて見ました。

先ず思いついたのは JavaScript Actions という拡張でした。これを用いればJavaScriptがオフの状態でもブックマークレットのような感覚でJavaScriptを動かす事が可能になります。これにユーザスタイルシート切り替えスクリプトを読み込ませれば出来る筈です。そこで早速拡張を導入して 春木屋さんのブックマークレット を取り込もうと思ったのですが、書き換え方がわからない。すっかりお手上げだったので、ユーザー定義のスタイルシートを追加 を入れてみたところ見事に成功。しかしこれだと任意のCSSを加えるだけなので、製作者側のCSSが無効になりません。そこで JavaScript Actions の標準スクリプトに入っているスタイルシート無効化スクリプトと混ぜてみました。

// スタイルシートを無効化します。
jsa_DisableStyleSheets();

function jsa_DisableStyleSheets(){
	for(var i=0; i<document.styleSheets.length; i++){
		document.styleSheets[i].disabled = true;
	}
}

// ユーザー定義のスタイルシートを追加
    jsa_SetCSS();

    function jsa_SetCSS() {
    // スタイルシートの書式を記述(このサンプルは背景画像を消去)
    var newCSS, styles = '* { background-image: none !important; }';

    if (document.contentType == 'application/xhtml+xml') {
    newCSS = document.createProcessingInstruction(
    'xml-stylesheet',
    'href="data:text/css,' + escape(styles) + '" type="text/css"'
    );
    document.insertBefore(newCSS, document.documentElement);
    } else {
    newCSS = document.createElement('link');
    newCSS.rel = 'stylesheet';
    newCSS.href = 'data:text/css,' + escape(styles);
    newCSS.type = 'text/css';
    document.documentElement.childNodes[0].appendChild(newCSS);
    }
    }

これで製作者側のCSSを無効にして任意のユーザスタイルシートを適用することが可能になった訳ですが、上のサンプルのようにスタイルをいちいち書き込んで行くのはどう考えても面倒です。そこで考えたのが@import規則。これで任意のCSSファイルを読み込んでみます。適当なユーザスタイルシートが無かったので、大変失礼とは思いながらも ウェビンブログさん「view elements」WebbingStudioバージョン を拝借させて頂こうと思います。迷惑でしたら仰って頂ければ早急に訂正致しますので宜しくお願いします。それでは書き換えてみます。

// スタイルシートを無効化します。
jsa_DisableStyleSheets();

function jsa_DisableStyleSheets(){
	for(var i=0; i<document.styleSheets.length; i++){
		document.styleSheets[i].disabled = true;
	}
}

// ユーザー定義のスタイルシートを追加
    jsa_SetCSS();

    function jsa_SetCSS() {
    // スタイルシートの書式を記述(@importでCSSを読み込む)
    var newCSS, styles = '@import \"http://blog10.fc2.com/w/webbingstudio/file/userstyle.css\";';

    if (document.contentType == 'application/xhtml+xml') {
    newCSS = document.createProcessingInstruction(
    'xml-stylesheet',
    'href="data:text/css,' + escape(styles) + '" type="text/css"'
    );
    document.insertBefore(newCSS, document.documentElement);
    } else {
    newCSS = document.createElement('link');
    newCSS.rel = 'stylesheet';
    newCSS.href = 'data:text/css,' + escape(styles);
    newCSS.type = 'text/css';
    document.documentElement.childNodes[0].appendChild(newCSS);
    }
    }

変更したのは15行目だけです("の前に\が必要なのかわかりませんが、よく見掛けるので)。ここを他のCSSファイルに置き換えれば幾つものスタイルを設定する事が可能です。もちろんその度にファイル名を変更して保存しなければなりませんので、それぞれにわかり易くはてな用.jsなどと付けるのが宜しいかと思います。ただ、あまりスタイルが増えすぎると煩雑になってコンテキストメニューが使い難くなるので、その際には名前の先頭に数字を割り振ると任意の順番に並べる事が可能です。また JavaScript Actions Menu を導入する事によって更に整理する事も可能です。(根本的に整理したい方は menueditor がオススメです。日本語版は 電網探題 からどうぞ)

追記(2005年12月31日14時00分)

右クリックは面倒だし、メインメニューも普段は使わないから消しちゃってるという方は JSActions Button がオススメです。これならば良く使う Action をボタンにしてツールバーの任意の場所に配置できます。項目がツリー化できれば更に便利なのですが。

個人的な技量により、ローカルのCSSファイルを読み込む方法はわかりませんでした(どなたかご教授下さい)。従って必要なCSSファイルはサーバにputしなければなりませんが、上記のように誰かが書いたCSSファイルを読み込む事も可能です。

これでとりあえずこれにて切り替えるのが面倒だからという理由は消えた訳ですが、妥当なHTMLではないサイトが多過ぎるという最大と言っても過言ではない理由が残っています。そこで見つけたのが スタイル無効化 なる CSSファイル です。これを取り込むことで

製作者がページへ施したスタイル指定を無効化します。 CSS のスタイルを無効化するのはもちろん、 <font> だの <b> だのが乱舞してるレガシーな HTML 記法によるスタイル効果をも無効化します。適用後は、あたかも文書構造のみを記した HTML であるかのような表示になります。それと、テーブルセルには点線枠が付加されます。 Camino べんりセット

とする事が可能です。これを読み込んだ上で更に任意のユーザスタイルシートを被せる事が出来れば完璧だと思ったのですが、如何せんその方法がわかりません。きっとJavaScriptを書ける人ならば簡単な事だと思うのですが、どうか教えて下さると本当に助かります。現状でも スタイル無効化CSS の最後尾に任意のCSSを追加すれば可能ですが、やはり美しくないですし、重くなりそうなので。

さて、これに サイト別CSS のような書き方を加えることにより更に強力なユーザスタイルシートを書く事も可能で、その上切り替えることが可能という柔軟性も出て来ました。これにて常用ブラウザが Firefox で JavaScript がオフだから という理由は殆ど消えた訳ですが、幾つか課題も残っていますので列挙しておきます。

三つ目はともかくも、一つ目と二つ目(特に二つ目)は簡単にできそうな気がします。重ね重ねしつこいようですが、書き方を教えて頂けると本当に助かります。

導入方法だけを簡単に解説

拡張の導入と、JavaScript の書き方を同時に進行したので説明が不十分でわかり難くかったかもしれません。このままでは不親切なのでもう一度流れをおさらいして置きます。

JavaScript Actions を導入
サイトへ行って拡張をインストールして下さい。説明は JSActions インストール方法Firefox まとめサイト にあります。この時に重要なのが firefox_jsa という標準スクリプトが入ったフォルダの場所と設定です。特に今回はその中の global というフォルダが核になります。
拡張の初期設定をする
最初に firefox_jsaフォルダ の場所を設定します。任意の場所にフォルダを移したら設定メニューからその場所を設定してください。
正常に設定が完了すると右クリックから出現するコンテキストメニューにActionという項目が加わっている筈です(もしかしたらFirefoxの再起動が必要かもしれません)。そしてその項目の中に globalフォルダ の中に入っている jsファイル の名前が表示されていれば正常です。
ユーザスタイルシートを読み込む為のJavaScriptファイルを創る
任意のエディタを開き以下のソースをコピペして、15行目を任意のCSSファイルに置き換えたら、適当な名前(MyCSS.js)を付けて(これは jsファイル です)、先程の global というフォルダの中に保存します。
// スタイルシートを無効化します。
jsa_DisableStyleSheets();

function jsa_DisableStyleSheets(){
	for(var i=0; i<document.styleSheets.length; i++){
		document.styleSheets[i].disabled = true;
	}
}

// ユーザー定義のスタイルシートを追加
    jsa_SetCSS();

    function jsa_SetCSS() {
    // スタイルシートの書式を記述(@importでCSSを読み込む)
    var newCSS, styles = '@import \"http://blog10.fc2.com/w/webbingstudio/file/userstyle.css\";';

    if (document.contentType == 'application/xhtml+xml') {
    newCSS = document.createProcessingInstruction(
    'xml-stylesheet',
    'href="data:text/css,' + escape(styles) + '" type="text/css"'
    );
    document.insertBefore(newCSS, document.documentElement);
    } else {
    newCSS = document.createElement('link');
    newCSS.rel = 'stylesheet';
    newCSS.href = 'data:text/css,' + escape(styles);
    newCSS.type = 'text/css';
    document.documentElement.childNodes[0].appendChild(newCSS);
    }
    }
任意のページを開き、右クリックから ActionMyCSS.js と進んでクリックすると、そのページの製作者のCSSが無効化され、上の15行目で指定したユーザスタイルシートが適用されます。

最後に、元に戻す(製作者のCSSで閲覧する)方法ですが、ページを遷移するか、再読み込みするなどすると戻ります。

使用して良いのか不明な方法

[ワツニュ]人ん家のスタイルシートで表示 のようなゲートウェイに値を渡すことでも実現可能なようです。

jsa_Send();
function jsa_Send(){
var sendURL = "http://www.officek.jp/skyg/wn/doc/csschange.cgi?url=";
var docURL = window.location;
var send2URL = "&css=http://blog10.fc2.com/w/webbingstudio/file/userstyle.css&font=1&bgcolor=1&body=1&headstyle=1&inlinestyle=1";

if(_jsaCScript.context.onLink) docURL = _jsaCScript.context.link.href;
_jsaCScript.loadURI(sendURL + escape(docURL) + send2URL);
}

五行目のCSSファイルを任意の物に書き換えて、同じように名前を付けて保存すれば良いです。CSSファイルのアドレスの後に続く値は ゲートウェイ の設定の強制削除の項目です。上記は全てチェックを入れた状態です。必要の無い項目は & から =1 までを削除すれば良いです。

紹介しておいて難ですが、ちょっと負荷がかかりそうな方法なのでできれば前者のような基本的な方法を用いた方が良いと思います。この方法はページを書き換えるのではなく、CGIを通してページを呼び出しています。ですのでページを戻れば元に戻ります。


Firefox で閲覧中のページのスクリーンショットを簡単に保存できる拡張 『Pearl Crescent Page Saver』

ブラウザに限らず、モニタに表示している画面(ん?)のスクリーンショットを撮るツールは多々ありますが、この拡張はかなり便利です。以前 Lucky bag さんのところで紹介されていたScreen grab! も試用したこともあるのですが、JAVAが必須という事で私にとっては使い勝手があまり良くありませんでした。ところが今度の Pearl Crescent Page Saver はJAVAも必要なく、任意のページのスクリーンショットをpng形式で、しかも大きさを指定して保存する事が出来ます。

拡張の導入方法はいつもの通りです。任意の方法でダウンロード、インストールをしたらFirefoxを再起動して下さい。そして必要ならばツールバーのカスタマイズからカメラの画像(ボタン)をツールバーに加えます。設定は拡張メニューから開くと以下のようなオプション画面が出現します。

設定は簡単で、先ずは上の欄のClick on toolbar item saves an image ofは、ツールバーのボタンをクリックした時の挙動を設定します。ブラウザで表示されている部分だけ保存する場合にはthe visible portion of the pageにチェックを入れ、ブラウザで表示されていない範囲(スクロールしなければ見えない部分)を含めて保存する場合にはthe entire pageにチェックを入れましょう。

次に保存する画像の大きさを指定する事が出来ます。% of originalでは表示されている画面に対しての割合で指定できます。原寸大で保存したいのなら値を100にします。また、率ではなく指定した大きさで保存したい場合にはpixels (maximum dimension)を選択すると、画像の最大値(長い方の値)をピクセル単位で指定する事ができ、その範囲内で保存されます。

設定が終わったら早速試しに撮ってみましょう。使用法は二種類あって、一つはツールバーにボタンを配置してそれをクリックする事です。すると画像を保存する為のウインドウが表示され、Page Image.pngという名前で保存しようとするので、それを任意の場所と名前で保存してください。尚、この時の挙動(撮影範囲)は上で設定した通りになります。しかしこの方法だと撮影範囲を頻繁に変更する人にすれば不便です。そういった場合は右クリックのコンテキストメニューからでも撮影が可能です。その挙動は以下の通りです。

Save Image of Visible Portion As...
ブラウザに表示されている部分のみ撮影します。
Save Image of Entire Page As...
スクロールしなければ表示されない部分も撮影します。

この方法ならば撮影の度に挙動を設定し直さなくても良いので便利です。そうなるとツールバーのボタンは必要なくなるかもしれませんが、コンテキストメニューが一杯で出来ればこれ以上増やしたくないとか、ツールバーの方が使い易いという場合はツールバーのボタンを右クリックしてみてください。すると以下のようなメニューが表示され、コンテキストメニューから撮影するのと同様になります。

更にはPage saver Optionsを選択する事によって設定画面に直行できるのも魅力です。撮影サイズを頻繁に変更する場合にはこちらの方が便利かもしれません。

追記(2005年12月24日11時00分)

ごめんなさい。ごめんなさい。ごめんなさい。日本語翻訳がまったく逆でした。すいません。訂正してお詫びいたします。


Firefox1.5 の脆弱性への対応とその他

リリースされてまだ間もないのですがFirefoxに脆弱性が発見されたそうです。回避策としてはツールメニューからオプションを選択し、プライバシー設定の表示履歴のタブを選び、表示したページの履歴を記憶する日数を0に設定すれば良いという事です。しかしこれはブラウジングに多大な影響を及ぼす。普段は履歴などからページを探す事は皆無なので問題ないと思っていたのですが、既読リンクの色が変化しないのは辛い。早く修正パッチが公開されないでしょうか。history.datファイルを手動で削除すれば起動させる事はできるようなので楽観しているのですが、もしかしたらと思うと怖いです。

これは脆弱性などとは関係無いのですが、1.5 にバージョンアップしてからどうもページを戻った時にスクロールが一番上まで戻っている事があるような気がしてならないのですが錯覚でしょうか。

それから念願だったツールバーの一段表示が叶いました。色々と弄っていたのですが、マウス派の私にとって最終的に頼りになったのは All-in-One Gestures でした。ページの遷移に関する物は殆ど全て設定できるのでボタンをかなり減らせます。その間に気が付いた事などをメモしておきたいと思います。

ホームボタンを進捗アイコンで代替
アクティブインジケータの URL を変更する を参考にして進捗アイコンをクリックした時に移動するサイトのURLを変更してやれば良い。user.js を弄るのが面倒だとかわからないという場合は about:config とロケーションバーに入力して移動し browser.throbber.url の値を任意のURLにしてやれば良い。
右クリックからの検索と翻訳
もともと右クリックからは選択文字列をGoogle検索する事は可能だったが Context Search を導入する事によって選択文字列を Excite翻訳 へ飛ばす事が可能になった。これは検索窓の検索エンジンを表示しているだけなので必要ならば 検索エンジンの追加 を参考にして検索プラグインを追加しなければならない。私はGoogle検索とExcite翻訳以外は邪魔だったので C:\Program Files\Mozilla Firefox\searchplugins\ からGoogle以外のものを削除した(Amazonは戻すかも)。もちろん about:config やuser.js から browser.search.order.X の値を弄れば順番も変更できる。ちなみに新しく加えたプラグインはプロファイルフォルダの serchpluginsフォルダ に収納されていました。これで英文をコピー ⇒ Excite翻訳を開く ⇒ ペースト ⇒ 翻訳 という面倒な流れが必要なくなり、ツールバーに常駐していたExcite翻訳ボタンも消せます。サイドバー翻訳も使用していたのですがどうも性に合いませんでした。
ロケーションバーへの不満
1.5になってからライブブックマークのアイコンなどがステータスバーではなくロケーションバー内に表示されるようになったのですが、feed を提供しているサイトとそうでないサイトでアイコンが表示されたりされなかったりしてロケーションバーの幅が変わり、ページの遷移と共にガクンとなるのが気持ちが悪い。どなたか解決方法を伝授して頂けませんでしょうか。ちなみに検索窓と同じ段にありまして検索窓の幅は非固定のようです。それが原因かと思ったので 検索バーの幅を変更する などを参考にしながら固定しようと思ったのですが出来ませんでした。ちなみに Search Station を入れています。出来る事ならばロケーションバーの幅を固定したいのですが方法がわかりません。Status Buttons を導入してステータスバーにもアイテムを配置できるようになったので右下にロケーションバーでも良いかなと思っているのですが、移動させると幅がかなり狭くなります。この規定の(?)ロケーションバーの長さを変更する事は可能なのでしょうか。
何となくスクリーンショットを晒してみる
  • Firefox1.5
  • ロケーションバーショート
  • ロケーションバーロング
  • ステータスバー

まだまだ便利になる要素はたくさんありますが、徐々に慣らして行かないと返って使い難くなってしまいそうなので今回はこの辺りで。特にマウスジェスチャについては意識しなくても自然に出来るようにならないと面倒です。右クリックのコンテキストメニューについても目とマウスの移動距離を慣らさないと時間がかかります。ツールバーのアイテムの変更も同じで癖が抜けずにボタンを探してしまう事がまだあります。最上級の快適さを求める上では通るべき道なのですが、逆効果にならないように気をつけたいものです。


Firefox のメニュをまとめて、ちょっと便利にする拡張『All-in-One Menu』

Compact Menu を紹介したばかりですが All-in-One Menu の方が高機能なので紹介させて頂きます。使用方法などは Compact Menu と殆ど同じですが、比べるとAll-in-One Menuの方が設定できる表示項目が多いです。ただしこちらはドロップダウンしたメニューの中で必要の無いものがあって設定からチェックを外したとしても削除されるのではなくメニューバーに戻るだけです。それを考えると Compact Menu と共存させて、必要の無いメニューは Compact Menu で消し、ツリーに含ませたくないメニューは All-in-One Menu のチェックを外すなどとすれば思い通りの挙動が可能になるのではないでしょうか。そして仕上げに Menu Editor で使用しない項目を非表示にしてやればかなり個人仕様のスマートなメニューが出来上がる事でしょう。


Firefox のメニューの表示を変更できる拡張 『Compact Menu』

先日 Shortmenu を入れたのですが、どうせやるなら極限まで省スペース化を計ろうと思い、Compact Menu という拡張を入れてみました。Shortmenu でも名前を半角スペースにして メニューのアクセスキーを非表示に すれば表示は消えますが、スペースは残ってしまいます。ところが Compact Menu を使用すれば要らないメニューは非表示にする事も可能ですし、一つのアイコンからツリー表示のようにする事も可能です。右クリック派やキーボードショーットカット派はもちろんの事、普段あまりメニューを利用しない方には使える拡張ではないでしょうか。

使用方法は簡単で、インストールが完了したら拡張メニューから設定をするか、メニューバーのカスタマイズから可能です。非表示にしたい項目のチェックを外せば消えます。ツリー表示にしたい場合はMenuCompact Menuのアイコンをツールバーに加えれば良いでしょう。このアイコンですが、場所を選ばないのがまた便利です。これでかなり幅を取っていたメニューが一つ分に収まったので、現在は二段ある上部のツールバーを一段にして表示領域を更に広げる事が可能になる日が来るかもしれません。その為には Status Buttons が不可欠なのですが、残念ながらもう少し待たなければならないようです。

追記(2005年12月04日13時40分)

待ち切れなくなったので install.rdf を書き換えてインストールしてしまいました。あまりに簡単だったので驚いています。とりあえずは正常に動作しているようですが、配置に慣れるまで時間がかかりそうな気がします。


Fierfox1.5 への乗り換え

本当はもう少し様子を見てからにしようと思ったのですが時間があったので、Fierfox1.5 の正式版 をインストールしてみました。拡張などが対応していないと1.0.7を入れ直すなどという面倒な事になるかなと思ったのですが、主要な拡張は殆ど動くので思っていたよりもスムーズに移行できました。

乗り換えは Firefox1.5 への移行 を参考にすると良いと思います。私は一応プロファイルだけをバックアップしておきました。インストールは1.0.7をアンインストールせずに上書きをしましたが、今のところ不具合はありません。ただ初回起動時にinstall.rdfがどうのこうのと言われて正しくインストールされませんでしたというような表示が出ました。かなり気になりますが、問題なさそうなので忘れる事にします。そう言えば初回起動時には無効化されたプラグインの一覧が表示されるとの事だったのですが、まったく表示されませんでした。

プロファイルは1.0.7のものがそのまま移行されたので見た目はテーマ以外は何も変わりません。拡張については導入したっきり一度も更新していなかったものが殆どだったので、ListZilla(なぜか左下にゴキブリらしき背景画像があるので抵抗がある方は画像表示を無効にするか注意して下さい)で移行前に書き出しておいて、必要な物から再度入れ直しました。中には使用頻度が低いものも多く存在したのでちょうど良い機会になったと思います。Firefox に最初にインストールする3個のエクステンション などという記事がありますが、私はどうやら4個の拡張があればとりあえずは平気なようです。

このサイトを更新する為に copyurlplus も入っていますが、現在はこれだけで事が足りています。また必要になり次第加えて行こうかと思っていますが、そうなった時に覚書程度に書いていたfirefoxカテゴリの記事がはじめて役に立つなと感じました。

色々と入れ替えるついでにテーマも違うものに変更しました。今までは Red Cats (Green Flavor) だったのですが、爽やかな感じにしたかったので同ページの下の Red Cats (Blue Flavor) にしてみました。季節に良く似合った色で、前とは違った気分でブラウジングを楽しんでいます。テーマなんて気に入った物が一度見つかったらそれっきりと思っていたのですが、これからは気が向いたらちょくちょく変更してみようかと思いました。

バージョンアップに関する感想ですが、あまり変化が感じられません。タブの並び替えなどは便利だなと思いますし、なんとなく戻る進むも高速化しているような気はしますが、殆ど使用しないのでなんとも言えません。それでも余計(助長)な拡張を幾つか外した事もあってか幾分スムーズになった気はします。

このエントリを書き上げる間に様々なページを閲覧して拡張機能を追加して行きました。そうしている内に元の状態に戻り、これまでと同じ快適なブラウジングを楽しんでいます。そのついでに Menu EditorShortmenu なども導入したので更に快適になりました。本当は Status Buttons も入れたいと思っているのですが、未対応のようでインストールできていません。直ぐに対応されると思うので期待して待ってみようと思います。


Firefoxで表示した画像を自由に拡大・縮小できる拡張『Image Zoom』

使用頻度がどれくらいかわかりませんが 窓の杜 で紹介されていたので Image Zoom 0.2 日本語版 を入れてみました。導入方法はいつも通りです。インストール後にFirefoxを再起動するのですが、その時にチュートリアルを開くかどうか訊ねられたのには驚きました。そういうのは初めてな気がします。

さてこの拡張機能で何が出来るのかと言えば題名の通りで表示されている画像(主にimg要素。Flashなんかだと挙動不振。CSS出力なんかは不可)を任意の設定で簡単操作で拡大できるというものです。設定は拡張の設定から行いますが、日本語なので弄ってみれば直ぐに理解できるでしょう。

例えば下のような小さな画像は文字が読み難くいですが、この拡張を使用して画像を拡大する事によって多少は読み易くなります(この画像の場合は逆効果かもしれませんが)。もちろん繊細さには欠けるので文字を読むという点に関しては多大な効果は期待できませんが、ちょっと拡大して観てみたいなんて事があった場合には便利なのではないでしょうか

設定は簡単でマウスジェスチャを使用するか拡大の比率右クリック(コンテキストメニュー)は利用するかといったところです。私の場合は細かい設定は必要ないのでコンテキストメニューは使用せずにマウスジェスチャだけにしました。ホイールで拡大縮小は何かの機能と重複しているのか効きませんでしたが、画像の上で右ボタンを押しっぱなしで左ボタンを押すと画像がウインドウに合わせて拡大され、右ボタンを押しっぱなしで中ボタンを押すと元に戻るように設定しました。できれば両方とも同じボタンを割り当てられれば良いのですが必ず異なるように選択してくださいと怒られてしまいました。

そうそうこの手の機能はOperaが得意ですよね。って パソコン遊戯日記 を読んでいて書き忘れた事に気が付きました。User JavaScript でなくとも標準装備されていたような気がしたのですが記憶違いだったようです。文字サイズの変更と共に画像の大きさも変わるというのと間違えたのかもしれません。ところで画像の大きさという事でもう一つ。sugar potさん のトップページに掲載されている WINE FACTORY のバナーなのですが、width="85%" と指定されているからか、CSSを外すとえらい事になってしまっています。まあそんな風にして見る人も居ないとは思いますけれども。


Firefox のスクロールを便利にする拡張機能『Scrollbar Anywhere』

また一つFirefoxが便利になった。私は標準で装備されていたマウス(右クリック左クリック中クリックが出来る3ボタンのもの)を利用しているのですが、画面をスクロールするにはスクロールバーを利用するか、スクロールボタンを人差し指で回転させるか、All-in-One Gestures の中クリックでの自動スクロール機能を用いるかしかなくて不便だったのです。少し前にこの拡張の情報を得ていたのですが、右クリックでしか出来ないと思い込んでしまっていました(マウスジェスチャと重複するので不可だった)。しかしこれが中ボタンでも可能だと知り、これでやっと呪縛から解き放たれます。昔のマウスは中ボタンを回転させなくても傾けるだけで移動してくれたのでまだ楽だったのですが、今のマウスは何度も回転させなければならないので指が痛くなったり疲れたりする事が多かったのです。

という事で導入する為の解説なのですが、先ずは Extensions へ行き、Scrollbar Anywhere の xpiファイルをダウンロードしてインストールして下さい。そうしたら次は設定です。最初に設定しなければならないのはマウスのどのボタンでスクロールを可能にするかという事です。私はマウスジェスチャを右クリックに当てているので中ボタンに設定しました。次に四つの項目がありますが、どれも自分で試した方が簡単に理解出来ると思います。一応それらしい説明だけして置きますけれども。

Acrobat Reader mode
そのままですね。Acrobat Reader の仕様と同じになります。感覚で言えばスクロール量が増える感じでしょうか。
Page scrolls in the direction opposite to the mouse
スクロールの感覚が逆になります。スクロールバーを掴んでいるのではなく、画面を掴んで動かしている感覚です。
Show a dedicated cursor when scrolling
スクロールしている最中にマウスカーソルをそれようのものに変更するかどうかです。
First button release locks the mouse in scrolling mode
最初にクリックしたらもう一度クリックをし直すまで機能を保ち続けるようになります。

私は画像にもある通りどれにもチェックは入れていません。マウスカーソルを変更した方が視覚的にはわかり易いかもしれませんし、掴むのをスクロールバーにするのか画面にした方が良いのかは感覚的な問題ですので両方とも試した方が宜しいかと思います。最後のも個人的には気持ち悪いのですが、そちらの方が便利という方もいらっしゃる事でしょう。

さて、私の場合は重複したのは右クリックだけではなく All-in-One Gestures の中クリックでの自動スクロール機能も重なってしまいました。それほど邪魔にはならないのですが、同じような状況の人で動作が安定しなくて嫌だという方は All-in-One Gestures の設定で、General Preferencesタブの「Enable」の所の Middle button scrolling のチェックを外せば快適になると思います。とにかく他の機能を右クリックや中クリックに持たせている人は重複しないように設定を見直す必要がありますので気をつけて下さい。

これで横スクロールだろうが何だろうがドンと来いって感じなのですが、まだ慣れません。

追記(2005年10月29日04時00分)

最後の設定項目にチェックを入れずとも、中ボタン(設定したボタン)をクリックしたままブラウザの表示領域外に出ると同じような状況(クリックをもう一度しないと解除されない状態)になってしますバグ(仕様)がありました。


連番のURLを簡単に前後移動できるようになるFirefox用の拡張『EZNav』

待ってましたという感じです。ディレクトリ階層を上がる機能やスタートページを新しいタブで開く機能は既に他の拡張で間に合っているので助長ですが、連番のページを簡単に移動できるのは素晴らしいです。これで写真の一覧表示などから新規タブに開いて閉じてなどという繰り返しが必要なくなりますし、ブログなどのURLに数字が使用されている事の少なくないサイトの遡っての閲覧などが管理者の用意したナビゲーションを利用しなくとも可能になります。そうなれば事ある毎に快適なブラウジングをサポートしてくれる事でしょう。また、ユーザビリティ(アクセシビィリティ)を考えたファイル名(URL)の必要性についてもいずれ考えなければならないかもしれません。

設定は至って簡単…と言うよりもインストールするだけで全て完了です。Firefoxを再起動すると既に機能は働いています。必要な事と言えばツールバーに戻るボタン進むボタンを表示させる事でしょうか。使用方法は戻るボタン進むボタンをホイール(中)クリックするだけです。試しに当サイトの様なURLの末尾に数字が用いられているようなサイトで実験してみてください。例えばこのページのURLの末尾は184.htmlとなっています。このページで進むボタンをホイールクリックをすると185.htmlに移動し、戻るボタンをホイールクリックをすると183.htmlに移動します。まあ説明を読むよりも実際に使用してみた方が理解が早いと思います。それではより快適なネットライフを。

追記(2005年10月26日14時40分)

人によっては Rewind/Fastforward Buttons の方が高機能なので幸せになれるかもしれません。私はツールバーがもう満杯なのでこれ以上ボタンを増やすとなると一行分足さなければならないので見送っています。


Firefoxのサイドバーを分割したい

Firefoxのサイドバーの機能を幾つか同時に表示できる拡張はないでしょうか。例えばブックマークと履歴を同時に表示するとか、翻訳とRSSReaderを同時に利用(常時表示)できるような拡張の事です。是非とも欲しいですし、需要も充分にあると思うのですが見つかりません。誰か見つけたら教えて下さい。と言うかむしろ創って下さい。


Firefoxのタブの閉じ方

どのようにしてタブを閉じているのかというお話なのですが、アクティブなタブの場合は私もマウスジェスチャで[右クリック]+[↓]で閉じています。これが普通かなと思っていたのですが、今回はアクティブでないタブを閉じる時の話もあって、なんとタブを[中クリック]するとアクティブでないタブも(アクティブなタブも)閉じる事が出来るというのです。もうこれは感動です。驚きです。なぜ今まで気がつかな(知らな)かったのか謎です。まあアクティブでないタブを閉じるという状況は殆ど無いのですが(だからこそタブのクローズボタンは非表示ですし、何も不便に感じていませんでした)、覚えておこうと思います。ちなみに複数のタブを同時に閉じる時はタブ上で[右クリック]+[他のタブを全て閉じる]が一番簡単な方法なのでしょうか。デフォルトの機能である筈なのにまだまだ知らない便利な操作方法が隠れていそうな気がします。


Firefox使いのWeb文章書きにはあると便利な拡張機能 『Copy URL+』

なぜ今までこの拡張を知らなかったのが不思議で仕方がない。この拡張機能を用いればリンクの生成や引用のマークアップがかなり楽になります。ページのタイトルをコピーする時もいちいちソースを開く必要もなくなりますし良い事だらけです。

私は文章の下書きをez-HTMLで行っているので、マークアップにはそれほど時間を費やさない。しかしこの拡張はかなり便利で、右クリックのコンテキストメニューから操作を実行すると、そのページのタイトルやURI、選択文字列などを把握して、マークアップした任意の形でクリップボードにコピーする事が出来る。ダウンロードからインストール、細かい設定やカスタマイズについては Firefox拡張copyurlplusのメモ にとても詳しく書かれていますので参考にして下さい。以下は私が設定しているuser.jsの該当部分です。

タイトルのみコピーする
user_pref('copyurlplus.menus.1.label','Title');
user_pref('copyurlplus.menus.1.copy','%TITLE%');
タイトルをa要素でマークアップする
user_pref('copyurlplus.menus.2.label','link');
user_pref('copyurlplus.menus.2.copy','<a href="%URL%" title="%TITLE%">%TITLE%</a>');
リンクをリストで表現する
user_pref('copyurlplus.menus.3.label','Ulink');
user_pref('copyurlplus.menus.3.copy','<ul>\n<li>\n<a href="%URL%" title="%TITLE%">%TITLE%</a>\n</li>\n</ul>');
選択文字列をblockquoteでマークアップする
user_pref('copyurlplus.menus.4.label','Block');
user_pref('copyurlplus.menus.4.copy','<blockquote cite="%URL%">\n<p>\n%SEL%\n<cite title="%TITLE%"><a href="%URL%">%TITLE%</a></cite>\n</p>\n</blockquote>');
選択文字列をquoteでマークアップする
user_pref('copyurlplus.menus.5.label','quote');
user_pref('copyurlplus.menus.5.copy','<q cite="%URL%" title="%TITLE%">%SEL%</q>');

どれも私がここの記事を書く際に利用するマークアップなので他の人には向かないかもしれません。また、参考にさせて頂いたサイト様の焼き増しでもあります。こういう書き方をすれば良いのかという参考になればと思うのと、自分用のバックアップです。blockquote要素内のp要素内にcite要素が含まれていたりと、少々首を傾げたくなるようなマークアップかもしれませんがあまり突っ込まないで下さい。ちなみにあまり検証していませんが、多分 label に日本語は使用できないようです。

ところでこのCopy URL+はもっと多くの可能性を秘めているような気がしてならないのですが、もっと私には考えも及ばないような利用法は無い物でしょうか。変数的な物がもっと多種に渡れば幅がグンと広がるような気がしますね。個人的に今のところは昔テーブルレイアウトで創ったサイトや、生のテキストをp要素などでマークアップし直す時に使えるかなと思っているのですが、そのような場合にはページごと変換してくれる便利なツールがあったような気がします。

それから不満もあって、普通に右クリックしたときと、文字列を選択してから右クリックをした場合とでコンテキストメニューに表示させるか否かを制御出来たら良いのになと思いました。例えば引用のマークアップの場合は通常の右クリックのの時には必要ないので非表示になっていた方がスッキリしていて、選択して実行する時のタイムラグが少しは減るような気がします。まあこれも配置や慣れによって徐々に緩和されるのでしょうけれども、何か良い方法はないものでしょうか。また、デフォルトで設定されている選択肢を削除する事は出来ないのでしょうか。デフォルトの選択肢では片方にしか表示しないものもありますし、コンテキストメニューに表示されるアイコンも消せるようなので、なんとかなりそうな気がするのですが。

Copy URL+のフォルダを開いてjarを解凍してjsファイルを覗いて見たのですが何が何やら…。変に弄っておかしくなってしまっても困るので、これを読んだ何方かがいつか何処かにその方法を提示してくれる事を期待し、委ねながら妥協する事にしました。そしてそのサイトからトラックバックがあると嬉しいな等と夢想しつつ当エントリを終えようと思います。


Firefox 使いへの幾つかの質問に対する回答

一応Firefox使いなので答えてみました。

Firefox との出会いはいつ頃ですか?
2004年7月11日
デフォルトブラウザにしていますか?
いいえ。設定はしていません。
Firefox 以外で使用しているブラウザはありますか?
表示確認用にOperaを。Windows Update用にInternet Explorerを。
Firefox の好きなところはどこですか?
自分仕様にカスタマイズできるところ。
Firefox の嫌いなところはどこですか?
ブックマーク周りが弱い。
Firefox に満足していますか?
ほぼ。
Firefox で表示できないサイトをどう思いますか?
なんとかして欲しいと思います。
Firefox の使用をやめたくなったことはありますか?
今のところはありません。
Firefox に望むことは何ですか?
これ以上シェアを伸ばさないこと。問題発生時の迅速な対応。シェア上昇に伴うセキュリティ強化。IEと同等の立場の確立。便利な拡張の開発。
Firefox に望まないことは何ですか?
これ以上シェアを伸ばすこと。シェアの上昇が頭打ちになった時の開発や普及、サポートの停滞。
Firefox は普及すると思いますか?
はい。日本の現状ではやや辛いかもしれませんが。
Firefox が普及するにはどうすればいいと思いますか?
広報でしょう。後は初期状態でFirefoxがインストールされていれば使用するのではないかと。それから膨大な情報
Firefox を人にすすめたことはありますか?
はい。
Firefox の開発に協力したことはありますか?
いいえ。
使用しているテーマは何ですか?
Red Cats
エクステンションを利用していますか?
はい。十数個程。いずれ ListZilla を用いて記録するかもしれません。
Firefox の情報はどこから得ていますか?
多岐に亘ります。特に意識しなくても自然と転がっています。
あなたにとって Firefox とは何ですか?
Webブラウザです。

シェアが増え過ぎるとセキュリティ面での心配がありますし、余計な機能などが付きかねない。有料化などはないだろうが。ただしシェアが増えないと立場の確立や、開発のスピードやレベルが落ちるのではないかと心配です。まあ何にしても脆弱性は拭い切れない訳だから、シェアに関係なくその危険性は生じるのですが、できるだけその可能性が低くなるに越した事はないと思うのです。

つまりはシェアが伸びてもセキュリティ面での心配が無用ならばどんどん普及して欲しいけれど、そうでないのならば悪意のターゲットはIEに残しつつ自分はFirefoxを使い続けるという独善的な状態が良いなという事です。とりあえずIE主体の構図が崩れて欲しいと思っています。と言うよりもアクセシビリティを配慮したサイトが増えたり、ブラウザによる表示の違いが無くなればそれで良いと思うのですが。


TargetAlert と PDF Download

愛用しているブラウザFirefoxの話です。pdfファイルへのリンクをクリックするとAcrobat Readerが起動するので面倒だという事で、以前はpdfファイルへのリンクの前にアイコンを表示させたりして回避していたのですが、Ver1.0以降になるとその方法は使えなくなり不便に感じていました。それでも PDFファイルへのリンクにマークを付ける という方法があったらしいのですが忘れていました。それで少し前にpdfファイルのリンクをクリックした時の挙動を四種類から選べるという拡張がある事を知り、その日本語版を導入してみました。素晴らしいですね。これがあればうっかりとpdfファイルへのリンクをクリックしたとしてもキャンセルをすれば済むので楽です。また手放せない拡張が一つ増えました。

それと同様にmailto:を用いたメールアドレスへのリンクにも辟易していたので(今はメールクライアントを起動しないようになっていますが)、メールリンクを他のリンクと区別する なんてこともしていたのですが、この度、TargetAlert for Firefox なんていうもの凄く便利なエクステンションをみつけまして、早速導入してみました(ダウンロードは該当ページ左のメニューのDownloadからどうぞ)。

もうこれは感動です。pdf やら word やら xls やら zip やら js やら rss やら、とにかくファイルの種類によってそのリンクの後に小さなアイコンが表示されます。これなら間違ってリンクをクリックする心配もないでしょう(ん?と言うことは PDF Download は必要ない?いえいえ。私はそれでもクリックしてしまう自信があります)。もしもアイコンが邪魔だったら、ファイルタイプ別にオンとオフを切り替える事もできます。これでもうpdfファイルへのリンクをクリックしてAcrobat Readerが起動してしまって、その時間が無駄にするだとか、メールフォームへ行くのかと思いきやメールソフトが起動してしまったとか、ファイルのダウンロード先に行くのかと思ったらダウンロードファイルそのものでダイアログが表示されて驚いたなんて事がなくなるでしょう。欲を言えばリンクの文字列の後に付くのではなく、前に付くように選べたら良いなぁと思うのですが、バージョンアップを繰り返すうちに実装されるのを期待しましょう。動作イメージとしては Going My Way を見ていただくのがわかり易いかと思います。


Greasemonkey

Firefox用のエクステンションで、ウェブページのデータをダウンロードする際にユーザースクリプトを実行し、ページをカスタマイズできるという Greasemonkey という便利そうな物を見つけた。ユーザスタイルシートも満足に活用しきれていない私にとっては遠い話になりそうなので、名前を忘れても良いようにここにメモしておく。併せて こんな危険性 もあるという事を記して置く事にする。


キツネじゃなくてレッサーパンダだった。

そうそう。ついでに仕入れた知識ですが Firefox ってレッサーパンダの別称なんだそうです。キツネだと思ってた…もしかして 常識?レッサーパンダの事を red panda と呼ぶらしくそれの別名なんだとか。なんで fox なのかなと疑問に思い、もしかしてキツネ科なのかと調べてみましたが撃沈。哺乳類 食肉目裂脚亜目 パンダ科 or アライグマ科 or 熊科 らしいです(これはこれで別の論争を生んでいるそうです。どうせなら レッサーパンダ科 にしてしまえば楽なのに)。つまり日本語で言う所のキツネザルとかそういう事なのかと。

ご存知かと思いますが最初は Phoenix だったのが商標の関係でで firebird になり、これも問題ありということで Firefox になったとか。でもロゴはどう見てもキツネらしき姿ですよね。でも実はレッサーパンダなのか?色をレッサーパンダみたいに塗り替えたらそれっぽく見えるのかもしれませんね。どこかでそれらしきイラストを見たような気もするのですが忘れました。


Copyright © 2005 rara All Rights Reserved.