Hatena::ブログ(Diary)

何にしても生っかじりの朴念仁

2008-12-03

Opera の UserJS に関するモヤモヤをスッキリさせる

私の脳内でモヤモヤしていたものを整理してみました。誤り等がございましたら、ご指摘をいただけると幸いです。

Opera の UserJS とは?

Opera*1 ではアクセスした Web ページに対し、追加で任意の JavaScript を適用できる機能(初期設定ではオフ)がある。そのスクリプトファイルが UserJS である。

正式名称は User JavaScript (UserJS , ユーザー JavaScript , ユーザースクリプト などと表記されている場合が多い)ここでは UserJS と表記する。

利用方法

任意の場所に UserJS 専用のフォルダを作成する。(ここでは %APPDATA%\Opera\Opera\profile\userjs とする。) UserJS は、このフォルダに保存する。

Opera を起動し、ツール > 設定 とクリックする。

f:id:ino46:20081202221914p:image:w400

表示された設定画面で、詳細設定 タブ > コンテンツ > JavaScript オプションを開く。

f:id:ino46:20081202221915p:image:w400

表示された JavaScript オプション画面で、先ほどの UserJS フォルダのパスを入力する。(ここでは %APPDATA%\Opera\Opera\profile\userjs)

f:id:ino46:20081202221916p:image:w400

UserJS は次にページを読み込む際、自動的に読み込まれるので Opera を再起動する必要はない。(UserJS を更新した際も再起動の必要はなし。)

有効かどうか確かめるには

ヘルプ > Opera について をクリックし、使用中の Opera に関する設定を表示する。

f:id:ino46:20081202221917p:image:w400

あるいは、アドレスバーに直接 about:opera と入力し移動しても同じ画面を表示する事が出来る。

f:id:ino46:20081202221918p:image:w400

UserJS が有効な場合は、下の画像のように "ユーザー JavaScript ファイル" の項目と UserJS フォルダへのパスが表示される。

f:id:ino46:20081202221919p:image:w400

適用されるページ

opera: プロトコルを用いてアクセスしたページには適用されない。

(初期設定では) https: プロトコルを用いてアクセスした Web ページも適用されない。

https: プロトコルを用いてアクセスした Web ページにも適応させるには(危険なので要注意)、アドレスバーに opera:config#UserPrefs|UserJavaScriptonHTTPS と入力し移動する。表示された設定画面の "User JavaScript on HTTPS" のチェックボタンにチェックを入れて、

f:id:ino46:20081203002652p:image:w400

保存する。

f:id:ino46:20081203002653p:image:w400

UserJS の書式 メタデータブロック

GreaseMonkey のスクリプトと同様に簡単なルールを記述することができる。

メタデータブロックは

// ==UserScript==

で始まり、

// ==/UserScript==

で終わる。ルールの形式は

// @宣言 値

となっている。Opera の UserJS では下記の 2つの宣言が有効である。

  • @include…UserJS を適応させる URL を指定。
  • @exclude…UserJS を適応させない URLを指定。

*(アスタリスク) をワイルドカードとして利用できる。

サンプル:

// ==UserScript==
// @include http://www.example.com/*
// @exclude http://www.example.com/index.html
// ==/UserScript==

2つのモード

拡張子が .js の場合は通常の UserJS として処理される。

拡張子が .user.js の場合は GreaseMonkey 記法の UserJS として処理される。

実行タイミング等の具体的な仕様は 2つのモードで異なる。


続く

参考 Web サイト

ユーザー JavaScript による制御
UserJS の解説 (Opera 9 系用) (公式)
Opera: Tutorial - User javascript
UserJS チュートリアル (Opera 9 系用) (公式) (英語)
User JavaScript - ウェブブラウザOpera みんなで作るまとめページ (Opera-PukiwikiPlus!)
Opera wiki の UserJS の解説ページ。UserJS の紹介もあるが古いかもしれない。

*1:動作確認は Windows 版 Opera 9.62 で行っています。

ino46ino46 2008/12/03 01:15 続きは明日、別のエントリーで書いてみるよ。具体的な仕様を確認するよ。

(私の Opera では)メタデータブロックが全く無効な感じだ!!なんでだろ?調べて、このエントリーに追記するよ。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元