Gecko エンジン搭載の Mozilla 系ブラウザたち、特に MacOSX の Aqua GUI をまとってナイスな感じに仕上がりつつも基本機能にまだまだ不足の多い Camino (旧称 Chimera) を、ちょっとだけ便利にするかも知れない小ネタ集。
というよりは、より良き正しき HTML/CSS を書いてるサイトに対して使用すると、良き HTML の真のチカラを発揮する(かもしれない)という、えらいマニヤックなアイテム。そーいう Web 日記を書いてる人とか、巡回先もそういうサイトが多いとかの人向けなのかもしれない。
CSS 有効の環境でここの右に表示されている画像のプルダウンメニュー部分は、イメージマップです。それぞれの項目の説明へのリンクになってます。
Camino べんりセットは海の向こうの用語で Bookmarklet と呼ばれてる部類のモノです。ブックマークのリンク先 URI として JavaScript が直書きされていて、通常のブックマーク同様に選択すると、どこかのページへ飛ぶかわりに現在表示中のページに対してその JavaScript が動作するという具合。
…という単純なモノなんで、Gecko エンジン搭載の Mozilla 系ブラウザならたいがい使えると思うです。ただし説明その他は Camino を前提としてます。
セットアップ手順などは同梱の README.html を見てください。
id
属性値が与えられている要素、name
属性値が与えられているアンカー <a>
を探して、その該当箇所へ id
/name
属性値の内容をリンク文字として追加表示します。
日記ページのピンポイントリンクなどなど向け。
<blockquote>
要素や <q>
要素の「引用元」を、ページ中の該当箇所へ追加表示します。
cite
属性 に記された URL へリンクを張った状態で表示し、 title
属性が与えられていたら、その内容をリンク文字として利用しまっす。それら属性値が無い場合は、なにもしません。
表示中ページの見出し (HTML/XHTML の <h1>
〜 <h6>
、 XHTML2 の <h>
) の一覧をフローティングシートに表示します。一覧をクリックすることでその見出し部分へ飛べます。
「 <h1>
等は文字の大きさを変えるタグである」とかカンチガイして誤用しているページに適用すると、ナニガナンダカ状態で苦笑モノであります。
HTML のコメントアウト部分( <!-- ほげほげ -->
)を該当箇所へ追加表示します。
初期状態ではコメント内の HTML タグを生かさない設定。 コメント内のタグを生かした状態で表示するには、以下のように変更してくださいな。ただし、 HTML の書かれ方によっては表示が崩壊する可能性があります。
useInnerHTML : false,
→useInnerHTML : true,
alt
属性があって title
属性の無い <img>
要素に、 alt
属性値のテキストを title
属性値として追加します。 alt
属性値そのものが無いかカラの場合は、ファイル名を title
属性値とします。イメージマップの <area>
要素にも同様に働きます。
何のためにあるかというと。 Windows の IE では <img>
の title
属性値が無く alt
がある場合、 alt
の内容がツールチップとしてポップアップされます。これが元で、 alt
に「画像の説明」を入れてしまっていたり、なんかネタ文章が仕込まれてたりすることが往々にありまして、そういうモノを見るために、とかとか。
原理主義を申しますと、
alt
属性は「その画像が表示されなかった時に替わりに使われるテキストを入れる物」であって、「画像の説明」や「ネタ文」を入れるものじゃないです。その役目は title
属性が担う物。ゆえに Mozilla や MacIE5 等では title
属性の内容しかポップアップしません。
ページ上の選択部分の HTML ソースをフローティングシートに表示します。ただし、本来のソースそのままのモノが抽出されるのではなく、Gecko レンダリングエンジンが内部的に扱っているソース、つまり文法ミスや欠損などが補正された状態のものが抽出されます。
なかなか狙い通りの部分をキレイに取り出すことは難しいです。コツは狙いより大きめに選択する事カモ。前後にゴミタグが出ますが。
右下の「テンプレートを適用」をチェックすると、設定済みのテンプレートを適用した状態へ、表示が切り替わります。初期状態では、選択部分のソースを <blockquote>
で囲うテンプレートが設定されてます。
なお、テキストエリア内を一文字でも編集してしまうと、「テンプレートを適用」チェックボックスの ON/OFF は効かなくなります。ださいですね。すいません。
初期状態では「テンプレートを適用」のチェックは OFF ですが、デフォルトで ON の状態にしとくには、以下のように変更。
applyTemplate : false,
→applyTemplate : true,
テンプレートの書式は、以下の箇所を書き換えることで変更できます。
template : '<blockquote cite=\'$URL\' title=\'$TITLE\'>\n\n$SELECT\n\n</blockquote>',
$URL
は表示中ページの URL へ置換されます。$TITLE
はページタイトルへ置換されます。$SELECT
はページ選択範囲部分の HTML ソースへ置換されます。\'
はダブルクオートへ置換されます。\n
は改行です。\
は Shift_JIS の Osaka フォントでは Yen 記号に見えるけど、 Camino のブックマーク編集ダイアログ上ではバックスラッシュに見えます。ヤヤコシイです。
?
につづく 8 桁の数字が URL 末尾にある場合は、それを削除します。いわゆる「更新日時取得アンテナ」がリンク URL に付加してる事の多い文字列。この処理が不都合であれば、以下のように変更してくださいな。
kill8Nums : true,
→kill8Nums : false,
適用対象は、テンプレートの $URL
部分、選択範囲から抽出した HTML ソース内の URI 型属性値、双方です。
現在表示中のページへ飛ぶためのリンクタグ (HTML) を生成して、シートダイアログに表示します。
生成されるリンクタグの書式は、以下の箇所を書き換えることで変更できます。
template : '<a href=\'$URL\' title=\'$TITLE\'>$SELECT</a>',
$URL
は表示中ページの URL へ置換されます。$TITLE
はページタイトルへ置換されます。$SELECT
はページ上のテキスト選択範囲の内容へ置換されます。(選択範囲の無い場合はページタイトルへ置換)
\'
はダブルクオートへ置換されます。\
は Shift_JIS の Osaka フォントでは Yen 記号に見えるけど、 Camino のブックマーク編集ダイアログ上ではバックスラッシュに見えます。ヤヤコシイです。
"?"
につづく 8 桁の数字が URL 末尾にある場合は、それを削除します。いわゆる「更新日時取得アンテナ」がリンク URL に付加してる事の多い文字列。この処理が不都合であれば、以下のように変更してくださいな。
kill8Nums : true,
→kill8Nums : false,
表示中ページのタイトルを、コピペできる状態のシートダイアログへ表示します。
一見不要なモノのような気がシマスガ、 Camino 現状の特殊事情をカバーするために必要だと思ったので。ロケーションバーのアイコンをデスクトップにドラッグ&ドロップすると、インターネットロケーションファイルが作られるわけだけど、ページタイトルに日本語などが使われている場合、ファイル名がページタイトルにならなかったり、文字化けしたりするので。その修正用。
あと、XML としてパージングされる application/xhtml+xml
の XHTML2.0 のページだと、ページタイトルが内部的にカラッポになっちゃってるくさくて、タイトルバーにも何も出ないという Gecko の現状もありまして。そのために。
製作者がページへ施したスタイル指定を無効化します。 CSS のスタイルを無効化するのはもちろん、 <font>
だの <b>
だのが乱舞してるレガシーな HTML 記法によるスタイル効果をも無効化します。適用後は、あたかも文書構造のみを記した HTML であるかのような表示になります。それと、テーブルセルには点線枠が付加されます。
レガシー HTML によるスタイル効果を無効化するために、このサイト内に置かれている nostyle.css を読み込みます。オフライン状態などでこれを読み込めない時は、レガシー HTML のスタイル効果を無効化することはできません。
( ローカル HD 上の外部 CSS を表示中ページへ適用することは出来ないみたいです。 Gecko エンジンのセキュリティ制限らしい。ただ、外部 CSS の URL のスキームが http:// でありさえすればいいので、ローカルで Web サーバを稼働させ、そこに nostyle.css を置いておくという手段が使えます。)
スタイルを切り替えるポップアップメニューを、フローティングシートに表示します。スタイルシートの切り換えだけでなく、 HTML による物理装飾をも切り換えの対象としてます。状況によって下記のような選択肢があらわれます。
本家 Mozilla には装備されてるスタイル切り替えメニューが Camino には無いので用意した項目。まだ実装前なのか、実装する計画が無いのか知りませんがー。
ページのスクロール位置によっては、ポップアップメニューがとんでもない場所に表示されます。ページ先頭まで戻れば正常位置に出ます。 select
要素(またはそれを含む要素)を positin:fixed
してる事が原因。実はコレ、 Classic MacOS/MacOSX 双方の IE5.x でも同様だったりするから、 MacOS(X) そのもののバグなのかも。
ブラウザがクッキー有効に設定されている場合は、ページごとのスタイル選択をクッキーに記録させるボタンが出てきます。クッキーへ選択を記録したページで次回以降「スタイル切り替え」を実行すると、自動的にそのスタイルが選択・適用された状態になるです。ページを読み込んだ際に自動選択されるワケじゃない事に注意。ださいけどブックマークレットの限界。すでにクッキーが記録されてるページの場合は、クッキーを消去するボタンが出てきます。
クッキー記録機能を利用しない場合は、以下のように変更。記録・消去ボタンも表示されなくなります。
useCookie : true,
→useCookie : false,
クッキー記録機能を利用する場合、以下の部分でクッキーの生存期間を設定できます。(単位:日)
cookieLife : 30,
クッキーは、それが設定されたディレクトリ階層以下に渡って有効であるにも関わらず、消去はそのクッキーを設定した同階層でしか行えません。ゆえに、あるディレクトリ階層のページで「設定消去」ボタンを押しても、設定値を消せない事が多々あります。その場合は、上階層へ移動しつつ「設定消去」ボタンを押してくださいな。
表示中ページに取り込まれている外部スタイルシートファイルの一覧を、フローティングシートに表示します。 <link>
要素によるものと、 xml-stylesheet
処理命令によるもの、共に。外部スタイルファイルから @import で取り込まれているファイルまでは一覧しません。というかできません。ページ自体に直接埋め込まれてるスタイルシート記述ももちろん一覧されません。
表示中ページに取り込まれている外部スクリプトファイルの一覧を、フローティングシートに表示します。 ページ自体に直接埋め込まれてるスクリプトは一覧されません。
選択範囲中にある URL らしきものを拾って、そこへ飛びます。
結構イイカゲンに選択範囲を取ってもわりと大丈夫。 URL のスキーム部分が ttp://
とか tp://
とかになってても大丈夫。ただし ftp://
で始まらないモノはどんなモノでも http://
のモノであると勝手に断定して処理します。
リンク文字列になってない、ただ直書きされただけの URL らしきもの をリンクアンカーにします。すでにリンク文字になっているモノに対しては何もしません。
ftp://
で始まらないモノはどんなモノでも http://
のモノであると勝手に断定して処理します。
ずらずらと URL が直書きされてるだけの HTML ページやプレーンテキストにこれを適用し、次に「リンク先リスト」を適用すると、上手いこと一括ダウンロード用に使える URL リスト(の原形)が得られるかもしれませんー。うへ。
ページ中のリンクアンカーを一覧します。初期設定では、すべてのリンク先を URL でリストアップして、フローティングシートに表示します。
「HTML/CGI 等へのリンクを含める」のチェックを外すと、そういったリンク先を除外します。…けど、けっこうテキトーなので期待しないほうがいいかも。
「URL でリスト」のチェックを外すと、リンクが仕込まれてるアンカーテキストのリストへ表示を切り替えます。
「リストだけ表示」ボタンを押すと、新しいウィンドウへリストを表示します。その際、フレームページやインラインフレームのあるページでは、その枚数分の新規ページが開かれます。(ウザイですがこうする他無かった…)
HTML/CGI 等へのリンクを除外した状態をデフォルトにするには、以下のように変更。
showHTMLlinks : true, → showHTMLlinks : false,
最初からアンカーテキストでリストアップするには、以下のように変更。
showTextAsURL : true, → showTextAsURL : false,
フローティングシートの表示を経由せず、いきなり新規ウィンドウへリストを表示するには、以下のように変更。
listUpOnSheet : true, → listUpOnSheet : false,
a
要素によるリンクと xlink
によるリンクを抽出しますが、後者については xlink:href
属性を持つ物を無造作に探してるだけというイイカゲン仕様です。
指定されたキーワードをリンク先 URL に含むリンクアンカーを探します。
HTML 的に相対 URL でリンク先が指定されてたとしても、それを絶対 URL 指定であったかのように見たててキーワード検索します。見つかったアンカーは目立つ表示になり、見つけたアンカー間をキー操作でポンポンとフォーカス移動(ジャンブ)できます。ページ上のクリックもしくは移動キー以外の押下で動作終了。
アクセス解析で見つけた Referer (リンク元 URL 情報)を辿って、自分のサイトへリンクしてるとおぼしきページを見に行ったとき、そのリンクアンカーを即座に発見するため、ってのが主な用途(笑)
alimika
とか。大文字小文字は区別されません。/alimika|a-satomi/
という様に正規表現のマッチ条件を /
で囲みます。 /pattern/i
という様に末尾に i
を付けた時以外は、大文字小文字が区別されます。以下の部分で変更可能。 prevKey
は「前へ」、 nextKey
は「次へ」のキー。見ての通り初期状態は D キーと F キー。
prevKey : 'D', nextKey : 'F',
アルファベット、数字、ファンクションキーが設定できます。ファンクションキーの場合は 'F1'
とか 'F2'
とか書いてください。
以下の部分。自分のサイトの URL の一部分なんかにしとくと吉。
query : 'keyword',
初期状態では検索キーワードを訊ねるダイアログが出ますが、いちいち訊ねないで、検索キーワード初期値(上述)でいきなり検索発動させるには、以下のように設定。
noprompt : false,
→noprompt : true,
実際の運用上は、このブックマークレットを複製して、一方をこの「いきなり発動」に設定にしとくとナイス。
最近の本家 Mozilla, Phoenix, Firebird, Camino Nightly は、Find As You Type (日本語訳)がデフォルトで ON であり、そして任意キーの押下で自動開始されます。このブックマークレットの移動キーと被ると具合が悪いです。以下のどちらかの処置をオススメするです。
上記「動作設定 1 : 移動キー」の通り。ただし Camino では、キーを押すたびに警告音が鳴ってウルサイです。
Mozilla, Phoenix, Firebird の場合は、ロケーションバーに about:config
と入れて表示される画面で、"accessibility.typeaheadfind.autostart" の項をダブルクリックし、 false
を設定。再起動無しで即座に反映します。
Camino の場合は、一旦終了してから、プロファイルフォルダの prefs.js あるいは user.js に以下の行を書き加えて再起動。
user_pref("accessibility.typeaheadfind.autostart", false);
以後、Find As You Type のリンクテキスト検索は ' , ページテキスト検索は / を押した後に発動するようになります。
スクリプトの側でなんとか対処出来そうな気もするんだけど、スキルが足りない…。
たとえば Windows 版 Phoenix では、 F1 キーは「ブックマークへ追加」と、 F3 キーは「次を検索」と被っちゃいますので、このキーを移動キーにする事は避けてくださいな。うーむむ。
ちょっと前の版はなぜか onkeydown
イベントを受け取らないようで、キー操作によるフォーカス移動が出来ないかもしれません。ごく最近の版なら正常。
Camino では、状況表示をステータスバーに出すようにしてます。が、ステータスバー変更不可の設定をしてる場合は、かわりにタイトルバーに表示します。それと最近の Mozilla, Phoenix, Firebird は、ステータスバー変更不可設定にはしてなくとも、リンクアンカーにフォーカスが当たっていると、ブラウザ側提供の URL 表示からは変更できないらしく、仕方なくタイトルバーへ状況表示します。
XHTML2.0 のページでは動作しないようになってます。原因はイロイロだけども、対処できましぇん。
選択範囲の文字列を検索語句として、Google で検索します。選択範囲の無い場合は、表示中ページの Google キャッシュを表示しようとします。
表示中ページの過去の姿が Internet Archive に残ってるかどうか検索します。ローカル HD 上のファイルを普通に表示してた場合は、調査対象 URL 入力フォームページへ飛びます。
表示中ページの URL を View HTTP and HTML Source の CGI へ送ります。これは、指定された URL のサーバから HTML や画像などのリソースを取り寄せる時、どのようなヤリトリがなされているかを見てみるモノです。ホンキで生丸出しの HTML ソースも見ることが出来ます。
View HTTP and HTML Source の CGI が到達可能な Web サーバにあるリソースのみが対象です。ローカル HD 上のファイルを普通に表示してた場合は、調査対象 URL 入力フォームページへ飛びます。
デフォルトでは Verbose Mode(相手の Web サーバとの接続手続きの様子も見るモード)が ON になってます。 OFF にする場合は以下を変更。
verboseMode : true,
→verboseMode : false,
Another HTML-lint で表示中ページの HTML 文法をチェックします。
Another HTML-lint の CGI が到達可能な Web サーバにあるファイルの HTML 文法しかチェックできません。ローカル HD 上のファイルを普通に表示してた場合は、Another HTML-lint のゲートウェイページ(軽量版)へ飛びます。
ローカル HD 上のファイルを文法チェックするためのツールには、以下のようなものがあります。
初期状態では、 Another HTML-lint 公式サイトの CGI を利用する設定となってます。自前で設置しているミラー CGI などに変更する場合は、スクリプトの以下の部分をよしなに書き換えてください。
lintGW : 'http://openlab.ring.gr.jp/k16/htmllint/htmllintl.html',
lintCGI : 'http://openlab.ring.gr.jp/k16/htmllint/htmllint.cgi',
チェックオプションは、たとえば以下のようにズラズラ並べといてください。オプションの値は Another HTML-lint の使い方を見るかゲートウェイページの HTML ソースを参照の事。
options : ['ViewSource=on', 'NoReligious=on', 'NoAccessibility=on' ... ],
ページ先頭へドビュンと移動するだけ。 Camino + Cocoa Gestures の環境でのみ利便が上がりそうなシロモノ。このブックマーク項目を「マウス↑」あたりのジェスチャーに登録すると吉かも。
フレームページに対して使用すると、全フレームページが同時に先頭へ移動します。(笑)
ページの読み込み途中にこれを使用すると、そこで読み込みが停止しちゃいます。これはどうしようもない。
ページ末尾へドビュンと移動するだけ。 Camino + Cocoa Gestures の環境でのみ利便が上がりそうなシロモノ。このブックマーク項目を「マウス↓」あたりのジェスチャーに登録すると吉かも。
フレームページに対して使用すると、全フレームページが同時に末尾へ移動します。(笑)
ページの読み込み途中にこれを使用すると、そこで読み込みが停止しちゃいます。これはどうしようもない。
現在表示中ページの、ひとつ上の階層へ移動します。
MacIE5 や Safari みたく、ウィンドウタイトルバーの Cmd + クリックで URL のディレクトリ階層メニューが出るようになってればいいんだけどな。
フレームを使ってるページで、フレーム内それぞれのページを単独で取り出して表示できるようにします。フレーム内の各ページ、インラインフレームの左上にフレーム解除用リンクラベルが表示されるので、それをクリックしてくださいな。
Chimera 0.6 正式版までの間、フレーム内ページを個別に開くコンテキストメニュー項目が無かったので用意してマシタ。それ以降の Nightly ではこの機能がめでたく実装されたのでまぁ不要なのですが、まだ同一ウィンドウへ開くことはできないし、何か有用なケースがあるかもしんないので。
ウィンドウサイズと位置をお好みに調整します。
初期状態では、画面左上を原点として、ウィンドウ左上を横 0 px・縦 25 px の位置の位置へ、ウィンドウサイズを横 800 px・縦 575 px へ変更します。お好みに合わせてスクリプトを変更してください。
x : 0, y : 25, w : 800, h : 575,
一発では設定したサイズ(位置)へ動かない事が多いです。二回目でたいがい狙ったトコに行きます。これは Camino のバグか仕様です。どうやら。座標指定の基準ポイントもどうやら本家 Mozilla とは微妙に違うようです。(メニューバー分をどうするか、ウィンドウ枠を含むか否か、等)
以上の項目の動作によりページへ追加表示されたものを消します。それだけ。
べんりセットアイテムそれぞれのバージョン情報を表示。現在表示中のページに対して一回以上適用したものだけがリストアップされます。バージョンが (不明) と出るモノは、 v1.67 以前のアイテムです。
何の役に立つかは謎。てゆか何の役にも立たない。
Camino べんりセットの各項目は結局ただのブックマークです。イロイロと動作変更のためのスクリプト書き換えポイントをノベてますが、ブックマーク編集ダイアログ等で行ってももちろん OK です。けど、あれでは狭くて編集しづらいというかほぼムリなので、インポート前の benriSet_bookmarklets.html をあらかじめ編集しておくのをオススメします。
といっても、こちらもまるで読みやすくは無いんですが、エディタで開けばテキスト検索して該当場所だけカッチリ書き換える事がラクにできるはずなので。
実際の運用上は、同一のブックマークレットを複製して、設定値をそれぞれ変えておくというのがナイスかもしれない。
Camino とは、Mozilla の心臓部・ Gecko レンダリングエンジンを内蔵しつつ、ガワ(フロントエンド)を MacOSX ネイティブの Cocoa で構築した単機能コンパクトで高速なブラウザ(を作るプロジェクト名、旧称 Chimera )。表示が速く標準仕様準拠度も高く、 Mozilla の動作が緩慢になってる主原因の「 XUL アプリ実行環境としての側面」を豪快に捨て、替わりに Aqua GUI のルックフィールを持つ事から、OSX 界では本家 Mozilla より圧倒的に人気があったりしてる。Mozilla 系ブラウザの中では最も一般ユーザへの訴求力があると思う次第。
しかし、シンプル単機能を目指す上でのポリシーなのか単に未実装なだけなのか分からないけど、本家 Mozilla には装備されてる各種機能がいろいろと足りてない。もちろん Piro さん作の XUL Apps をはじめとする XUL 系の各種機能拡張アイテムの数々も当然、使用不能。
てなわけで手っ取り早く、「MacIE5 べんりセット」を元に、足りない機能の補完や Web 生活をちょっと便利にする子ネタアイテムを自分用にイロイロ用意してみたってな次第。 Camino は AppleScript の実装も使えるレベルに無いから、標準的な JavaScript だけで何とかするしか無い状況。
結局 Camino の中の Gecko エンジンに対して処理をさせてるワケだから、本家 Mozilla またはその派生ブラウザでも問題なく使えると思うです、たぶん。でもまぁ Camino の特殊事情と無縁なそれらには、もっと便利なのがいくらでも有るわけで。あのその。
→改訂履歴