blob: f914e87c1cd67b1a647c0497d441d94dd02cf070 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
---
title: ウェブページからの検索エンジンの追加
slug: conflicting/Web/OpenSearch
tags:
- Add-ons
- Search plugins
translation_of: Web/OpenSearch
translation_of_original: Web/API/Window/sidebar/Adding_search_engines_from_Web_pages
original_slug: Adding_search_engines_from_web_pages
---
<p>Firefox では JavaScript コードから検索プラグインをインストールすることができ、<a href="ja/Creating_OpenSearch_plugins_for_Firefox">OpenSearch</a> と Sherlock という 2 つの検索プラグインフォーマットをサポートしています。</p>
<div class="note"><strong>注意</strong>: Firefox 2 からは、OpenSearch が Firefox の検索フォーマットとして推奨されています。Sherlock のサポートは将来廃止する予定です ({{bug(862137)}})。</div>
<p>JavaScript コードが検索プラグインをインストールしようとすると、Firefox はユーザにプラグインのインストールを許可するか尋ねる警告を表示します。</p>
<p>{{ 英語版章題("Installing OpenSearch plugins") }}</p>
<h2 id="OpenSearch_.E3.83.97.E3.83.A9.E3.82.B0.E3.82.A4.E3.83.B3.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB" name="OpenSearch_.E3.83.97.E3.83.A9.E3.82.B0.E3.82.A4.E3.83.B3.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">OpenSearch プラグインのインストール</h2>
<p>OpenSearch プラグインをインストールするには、<code>window.external.AddSearchProvider()</code> DOM メソッドを使う必要があります。このメソッドの構文はこのようになります。</p>
<pre class="eval">window.external.AddSearchProvider(<em>engineURL</em>);
</pre>
<p><em>engineURL</em>は検索プラグイン XML ファイルへの絶対 URL です。</p>
<div class="note"><strong>注意:</strong> OpenSearch は Firefox 2 以降でのみサポートされています。</div>
<p>{{ 英語版章題("Installing Sherlock plugins") }}</p>
<h2 id="Sherlock_.E3.83.97.E3.83.A9.E3.82.B0.E3.82.A4.E3.83.B3.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB" name="Sherlock_.E3.83.97.E3.83.A9.E3.82.B0.E3.82.A4.E3.83.B3.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">Sherlock プラグインのインストール</h2>
<div>{{obsolete_header}}</div>
<div class="warning">
<p>window.sidebar.addSearchEngine のサポートは <a href="/ja/docs/Mozilla/Firefox/Releases/44">Firefox 44</a> で廃止しました。</p>
</div>
<p>Sherlock プラグインをインストールするには、<code>window.sidebar.addSearchEngine()</code> を呼び出す必要があり、その構文は以下のとおりです。</p>
<pre class="eval">window.sidebar.addSearchEngine(<em>engineURL</em>,<em>iconURL</em>,<em>suggestedName</em>,<em>suggestedCategory</em>);
</pre>
<ul>
<li><code>engineURL</code> パラメータはインストールする Sherlock プラグイン (".src" ファイル) の URL です。</li>
<li><code>iconURL</code> はプラグインに関連付けるアイコンの URL です。</li>
<li><code>suggestedName</code> パラメータはプラグインのインストールの許可をユーザに尋ねるときにだけ使用します。つまり 「<em>engineURL</em> から<em>suggestedName</em> をインストールしますか?」 のようなメッセージが表示されるでしょう。</li>
<li><code>suggestedCategory</code> パラメータは使われていません。空の文字列 (<code>""</code>) か <code>null</code> を指定すべきです。</li>
</ul>
<p>Sherlock の詳細は <a class="external" href="http://developer.apple.com/macosx/sherlock/" rel="freelink">http://developer.apple.com/macosx/sherlock/</a> を参照ください。</p>
<p>{{ 英語版章題("Browser search engine capability detection") }}</p>
<h2 id=".E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.81.AE.E6.A4.9C.E7.B4.A2.E3.82.A8.E3.83.B3.E3.82.B8.E3.83.B3.E6.A9.9F.E8.83.BD.E3.81.AE.E6.A4.9C.E5.87.BA" name=".E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.81.AE.E6.A4.9C.E7.B4.A2.E3.82.A8.E3.83.B3.E3.82.B8.E3.83.B3.E6.A9.9F.E8.83.BD.E3.81.AE.E6.A4.9C.E5.87.BA">ブラウザの検索エンジン機能の検出</h2>
<p>検索エンジンを追加するための API は Firefox 1.5 から Firefox 2 までに変更されており、また Firefox 1.5 は OpenSearch 記述ファイルをサポートしていません。このため、検索エンジンを追加する時に後方互換性を維持したい場合、すなわち Firefox 1.5, Firefox 2.0, IE7 で動作するようにしたい場合、Web ページの製作者は Sherlock と OpenSearch の両方のフォーマットに対応し、またブラウザの機能を適宜検出しなければなりません。次のコード片はこういったことを行う一つの例です。</p>
<pre class="brush: js">function installSearchEngine() {
if (window.external && ("AddSearchProvider" in window.external)) {
// Firefox 2 と IE 7 では OpenSearch を使う
window.external.AddSearchProvider("<span class="nowiki">http://example.com/search-plugin.xml</span>");
} else if (window.sidebar && ("addSearchEngine" in window.sidebar)) {
// Firefox 1.5 以下では Sherlock を使う
window.sidebar.addSearchEngine("<span class="nowiki">http://example.com/search-plugin.src</span>",
"<span class="nowiki">http://example.com/search-icon.png</span>",
"Search Plugin", "");
} else {
// 検索エンジンはサポートされていない (IE 6, Opera など)
alert("No search engine support");
}
}
</pre>
|