mozilla
Your Search Results

    ウェブページからの検索エンジンの追加

    Firefox では JavaScript コードから検索プラグインをインストールすることができ、OpenSearch と Sherlock という 2 つの検索プラグインフォーマットをサポートしています。

    注意: Firefox 2 からは、OpenSearch が Firefox の検索フォーマットとして推奨されています。

    JavaScript コードが検索プラグインをインストールしようとすると、Firefox はユーザにプラグインのインストールを許可するか尋ねる警告を表示します。

    OpenSearch プラグインのインストール

    OpenSearch プラグインをインストールするには、window.external.AddSearchProvider() DOM メソッドを使う必要があります。このメソッドの構文はこのようになります。

    window.external.AddSearchProvider(engineURL);
    

    engineURL は検索プラグイン XML ファイルへの絶対 URL です。

    注意: OpenSearch は Firefox 2 以降でのみサポートされています。

    Sherlock プラグインのインストール

    Sherlock プラグインをインストールするには、window.sidebar.addSearchEngine() を呼び出す必要があり、その構文は以下のとおりです。

    window.sidebar.addSearchEngine(engineURL, iconURL, suggestedName, suggestedCategory);
    
    • engineURL パラメータはインストールする Sherlock プラグイン (".src" ファイル) の URL です。
    • iconURL はプラグインに関連付けるアイコンの URL です。
    • suggestedName パラメータはプラグインのインストールの許可をユーザに尋ねるときにだけ使用します。つまり 「engineURL から suggestedName をインストールしますか?」 のようなメッセージが表示されるでしょう。
    • suggestedCategory パラメータは使われていません。空の文字列 ("") か null を指定すべきです。

    Sherlock の詳細は http://developer.apple.com/macosx/sherlock/ を参照ください。

    ブラウザの検索エンジン機能の検出

    検索エンジンを追加するための API は Firefox 1.5 から Firefox 2 までに変更されており、また Firefox 1.5 は OpenSearch 記述ファイルをサポートしていません。このため、検索エンジンを追加する時に後方互換性を維持したい場合、すなわち Firefox 1.5, Firefox 2.0, IE7 で動作するようにしたい場合、Web ページの製作者は Sherlock と OpenSearch の両方のフォーマットに対応し、またブラウザの機能を適宜検出しなければなりません。次のコード片はこういったことを行う一つの例です。

    function installSearchEngine() {
     if (window.external && ("AddSearchProvider" in window.external)) {
       // Firefox 2 と IE 7 では OpenSearch を使う
       window.external.AddSearchProvider("http://example.com/search-plugin.xml");
     } else if (window.sidebar && ("addSearchEngine" in window.sidebar)) {
       // Firefox 1.5 以下では Sherlock を使う
       window.sidebar.addSearchEngine("http://example.com/search-plugin.src",
                                      "http://example.com/search-icon.png",
                                      "Search Plugin", "");
     } else {
       // 検索エンジンはサポートされていない (IE 6, Opera など)
       alert("No search engine support");
     }
    }
    


    ドキュメントのタグと貢献者

    Contributors to this page: Shoot, Potappo, Taken, Mgjbot
    最終更新者: Mgjbot,