Firefox允许JavaScript代码安装搜索引擎插件,同时支持2种搜索引擎格式,OpenSearch,Sherlock
注意,对于Firefox 2,更加推荐使用OpenSearch格式。
当JavaScript代码尝试安装一个搜索引擎时,Firefox会跳出一个警告提示用户允许安装这个插件。
安装一个OpenSearch插件,你需要使用window.external.AddSearchProvider() DOM方法。使用如下:
window.external.AddSearchProvider(engineURL);
engineURL是一个完全指向搜索引擎插件的xml文件的URL。
注意,OpenSearch支持Firefox 2及后续版本。
安装一个Sherlock插件,你需要调用window.sidebar.addSearchEngine(),示例如下:
window.sidebar.addSearchEngine(engineURL, iconURL, suggestedName, suggestedCategory);
1、 engineURL的参数是指向安装Sherlock插件(一个后缀为”.src”文件)的URL
2、 iconURL是与插件一致的图标的URL
3、 suggestedName参数只是用户提示用户允许安装此插件,这样显示一条例如”Do you want to install suggestedName from engineURL?”的提示信息
4、 suggestedCategory参数一般不使用,你可以指定一个空的字符串(“”)或是为空值。
1、
function addOpenSearch(name,ext,cat,pid,meth)
{
if ((typeof window.external == "object") && ((typeof window.external.AddSearchProvider == "unknown") || (typeof window.external.AddSearchProvider == "function"))) {
if ((typeof window.external.AddSearchProvider == "unknown") && meth == "p") {
alert("This plugin uses POST which is not currently supported by Internet Explorer's implementation of OpenSearch.");
} else {
window.external.AddSearchProvider(
"http://mycroft.mozdev.org/installos.php/" + pid + "/" + name + ".xml");
}
} else {
alert("You will need a browser which supports OpenSearch to install this plugin.");
}
}
2、
function addEngine(name,ext,cat,pid)
{
if ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")) {
window.sidebar.addSearchEngine(
"http://mycroft.mozdev.org/install.php/" + pid + "/" + name + ".src",
"http://mycroft.mozdev.org/install.php/" + pid + "/" + name + "."+ ext, name, cat );
} else {
alert("You will need a browser which supports Sherlock to install this plugin.");
}
}