Opera の UserJS に関するモヤモヤをスッキリさせる
私の脳内でモヤモヤしていたものを整理してみました。誤り等がございましたら、ご指摘をいただけると幸いです。
Opera の UserJS とは?
Opera*1 ではアクセスした Web ページに対し、追加で任意の JavaScript を適用できる機能(初期設定ではオフ)がある。そのスクリプトファイルが UserJS である。正式名称は User JavaScript (UserJS , ユーザー JavaScript , ユーザースクリプト などと表記されている場合が多い)ここでは UserJS と表記する。
利用方法
任意の場所に UserJS 専用のフォルダを作成する。(ここでは %APPDATA%\Opera\Opera\profile\userjs とする。) UserJS は、このフォルダに保存する。Opera を起動し、ツール > 設定 とクリックする。
表示された設定画面で、詳細設定 タブ > コンテンツ > JavaScript オプションを開く。
表示された JavaScript オプション画面で、先ほどの UserJS フォルダのパスを入力する。(ここでは %APPDATA%\Opera\Opera\profile\userjs)
UserJS は次にページを読み込む際、自動的に読み込まれるので Opera を再起動する必要はない。(UserJS を更新した際も再起動の必要はなし。)
有効かどうか確かめるには
ヘルプ > Opera について をクリックし、使用中の Opera に関する設定を表示する。あるいは、アドレスバーに直接 about:opera と入力し移動しても同じ画面を表示する事が出来る。
UserJS が有効な場合は、下の画像のように "ユーザー JavaScript ファイル" の項目と UserJS フォルダへのパスが表示される。
適用されるページ
opera: プロトコルを用いてアクセスしたページには適用されない。(初期設定では) https: プロトコルを用いてアクセスした Web ページも適用されない。
https: プロトコルを用いてアクセスした Web ページにも適応させるには(危険なので要注意)、アドレスバーに opera:config#UserPrefs|UserJavaScriptonHTTPS と入力し移動する。表示された設定画面の "User JavaScript on HTTPS" のチェックボタンにチェックを入れて、
保存する。
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 サイト
- //jp.opera.com/support/tutorials/userjs/" title="ユーザー JavaScript による制御">ユーザー JavaScript による制御:UserJS の解説 (Opera 9 系用) (公式)
- //www.opera.com/browser/tutorials/userjs/" title="Opera: Tutorial - User javascript">Opera: Tutorial - User javascript:UserJS チュートリアル (Opera 9 系用) (公式) (英語)
- //www.opera-wiki.com/index.php?User%20JavaScript" title="User JavaScript - ウェブブラウザOpera みんなで作るまとめページ (Opera-PukiwikiPlus!)">User JavaScript - ウェブブラウザOpera みんなで作るまとめページ (Opera-PukiwikiPlus!):Opera wiki の UserJS の解説ページ。UserJS の紹介もあるが古いかもしれない。