Code Tips‎ > ‎

UserScriptのブラウザごとの違い

このページではUserScriptのブラウザごとの違いについて、箇条書きでつらつらと書き並べます。
※ブラウザ共通の内容については、「UserScriptの書き方メモ」で説明しています。 
 

Chrome

  • ファイル名の末尾が「.user.js」であるファイルを対象とします
  • 「(右上のChromeの)設定ボタン→設定→拡張機能」の画面で、ファイルをブラウザにD&Dすることによりインストールします
  • UserScriptヘッダは省略可能です
  • スクリプト名+名前空間でスクリプトが管理されます
  • スクリプト名+名前空間が同じスクリプトは同一スクリプトとみなされます
  • スクリプト名を省略すると、ファイル名がスクリプト名になります
  • namespaceを省略するとnamespaceが空文字として登録されます
  • versionを省略すると1.0となります
  • スクリプトのアップグレードは上書きインストールで行なえます
  • インストール済みのスクリプトよりversionが低いスクリプトは上書きインストールできません
  • スクリプトのダウングレードを行ないたい場合には一旦アンストールする必要があります
  • 文字コードはUTF-8でなければなりません
  • UTF-8以外で保存されたスクリプトはインストールできません

FireFox+Greasemonkey

  • ファイル名の末尾が「.user.js」であるファイルを対象とします
  • ファイルをブラウザにD&Dすることによりインストールします
  • UserScriptヘッダは省略可能です
  • スクリプト名+名前空間でスクリプトが管理されます
  • スクリプト名を省略すると、拡張子を除いたファイル名がスクリプト名になります
  • namespaceを省略するとnamespaceが空文字として登録されます
  • versionを省略するとversionなしになります
  • 文字コードはUTF-8でなければなりません
  • ファイルはUTF-8として解釈します。(他の文字コードで保存されていた場合、文字化の具合により文字化けしながら実行可能な場合もあります)
  • 外部ライブラリを参照したい場合には、メタデータにrequireを指定することで読込むことができます(Greasemonkey独自)
  • Greasemonkeyだけで使える関数がいくつか用意されています(GM_setValue/GM_getValueやGM_xmlhttpRequestなど)
  • プラグインDL:Greasemonkey :: Add-ons for Firefox

requireを使用したサンプル
// ==UserScript==
// @name        Welcome MBS site !
// @namespace   http://www.m-bsys.com/
// @description 「http://www.m-bsys.com/」のページを開いた場合に「Welcome MBS site !」を表示します。
// @include     http://www.m-bsys.com/*
// @require     http://jquery.com/src/jquery-latest.js
// ==/UserScript==

$(document).ready(function() {
	alert("Welcome MBS site !");
});

requireの記述例
// @require     http://jquery.com/src/jquery-latest.js
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// @require     http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.15/jquery-ui.min.js

IE+IE7Pro

  • ファイル名の末尾が「.ieuser.js」であるファイルを対象とします
  • ファイルをブラウザにD&Dすることによりインストールします
  • UserScriptヘッダは必須です
  • name(スクリプト名)は必須です
  • versionは認識されません(無視されます)
  • スクリプト名が無いものはインストールできません
  • スクリプト名のみでスクリプトが管理されます
  • スクリプト名が同じスクリプトは同一スクリプトとみなされます
  • namespaceが指定されていると、管理画面のスクリプト名部分がそのURLへのリンクになります
  • 文字コードはUTF-8でなければなりません。他の文字コードだインストールできません
  • UserScriptのインストールは、ステータスバーにIE7Proのアイコンが表示されている状態でファイルをD&Dします
  • F5キー押下などで行なうページの再読込では、スクリプトの再実行を行ないません
  • プラグインDL:IE7Pro
  • ※IE7ProはUserScriptを動かす機能だけではなく、マウスジェスチャー、プロキシの切替え、User-Agentの変更、その他さまざまな機能を含んでいます(しかし、 IE7Proはどうも不具合があるようで、私の環境では画面により( http://www.google.co.jp/など)機能が有効にならないことがありました)

IE+Trixie

  • ファイル名の末尾が「.js」であるファイルを対象とします
  • 「C:\Program Files\Bhelpuri\Trixie\Scripts\」に配置することによりインストールします
  • UserScriptヘッダは必須です
  • name(スクリプト名)は必須です
  • namespace/versionは認識されません(無視されます)
  • ファイル名でスクリプトが管理されます
  • スクリプト名が同じ別ファイルのスクリプトでも、別スクリプトとみなされます(一覧には同名のスクリプトが並ぶ)
  • 文字コードはUTF-8でなければなりません
  • ファイルはUTF-8として解釈します。(他の文字コードで保存されていた場合、文字化の具合により文字化けしながら実行可能な場合もあります)
  • F5キー押下などで行なうページの再読込では、スクリプトの再実行を行ないません
  • ツール→Trixie Options...で開くダイアログで、スクリプトを有効にするかどうかの管理が行なえます。新しくスクリプトをインストールした際にはこのダイアログで「Reload Script」ボタンを押して再読込をする必要があります
  • プラグインDL:Trixie

Opera

  • ファイル名の末尾が「.js」であるファイルを対象とします
  • 設定画面で指定したフォルダに配置することによりインストールします
  • UserScriptヘッダは省略可能です
  • name/namespace/description/versionは認識されません(無視されます)
  • ファイルが異なれば別スクリプトとみなされます
  • 文字コードはUTF-8でなければなりません
  • ファイルはUTF-8として解釈します。(他の文字コードで保存されていた場合、文字化の具合により文字化けしながら実行可能な場合もあります)
  • スクリプト配置場所の指定:メニュー→設定→設定→詳細設定タブ→コンテンツ→JavaScriptオプション→「ユーザー JavaScript フォルダ」
  • アドレスバーに「opera:config#UserPrefs」と打ち込み、「User JavaScript File」の欄にフォルダパスを設定してもOK

Sleipnir+SeaHorse

  • ファイル名の末尾が「.user.js」であるファイルを対象とします
  • 「%{Sleipnir}\unicode\plugins\seahorse」に配置することによりインストールします
  • UserScriptヘッダは必須です
  • name(スクリプト名)/includeは必須です。
  • namespace/versionは認識されません(無視されます)
  • スクリプト名が同じ別ファイルのスクリプトでも、別スクリプトとみなされます(一覧には同名のスクリプトが並ぶ)
  • 文字コードはSJISでなければなりません
  • ファイルはSJISとして解釈します。(他の文字コードで保存されていた場合、文字化の具合により文字化けしながら実行可能な場合もあります)
  • プラグインDL:Sleipnir プラグイン - SeaHorse


説明順

  • 対象ファイル
  • インストール方法
  • UserScriptヘッダの省略
  • 必須メタデータ
  • 使えないメタデータ
  • スクリプトの識別・管理
  • その他のメタデータの意味合い
  • ファイルの文字コード
  • その他固有の話