Search Bar On Browser_5

来源:互联网 发布:矩阵论北航教材 编辑:程序博客网 时间:2024/06/09 21:54

Search Bar On Browser

摘要: 本文介绍主流浏览器的搜索引擎插件标准。本文还解释如何在浏览器的添加搜索引擎插件

 

本文内容:

简介

一、       Sherlock标准

二、       OpenSearch标准

三、       MozSearch标准

四、       .ini配置文件

五、       如何添加搜索引擎

 

简介

现今主流的浏览器基本都支持在搜索栏上添加自定义的搜索引擎。当然,不同的浏览器采用的搜索引擎添加方式不同,下面就我所知道的4种方式逐一作一介绍。

             如何添加搜索引擎

1.       Adding search engines from web pages

Firefox允许JavaScript代码安装搜索引擎插件,同时支持2种搜索引擎格式,OpenSearchSherlock

注意,对于Firefox 2,更加推荐使用OpenSearch格式。

JavaScript代码尝试安装一个搜索引擎时,Firefox会跳出一个警告提示用户允许安装这个插件。

 

2.       Installing OpenSearch plugins

安装一个OpenSearch插件,你需要使用window.external.AddSearchProvider() DOM方法。使用如下:

window.external.AddSearchProvider(engineURL);

engineURL是一个完全指向搜索引擎插件的xml文件的URL

注意,OpenSearch支持Firefox 2及后续版本。

 

3.       Installing Sherlock Plugins

安装一个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参数一般不使用,你可以指定一个空的字符串(“”)或是为空值。

 

4.       Two function to add search engine:

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.");

  }

}

 

 

原创粉丝点击