zoukankan      html  css  js  c++  java
  • Search Bar On Browser_5

    如何添加搜索引擎

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

      }

    }

     

    OscarXie.net

    关注质量与体验——电子商务与自动化测试
    http://www.cnblogs.com/oscarxie/

  • 相关阅读:
    hive中map与reduce的个数问题
    count(*) 与 count(1)的区别?
    星型模型与雪花模型有什么优缺点
    如何估计数据需要存储空间
    element-ui的table控件得到所有的表头label值
    vue-image-crop-upload通过params带参的时候key总是img
    vue通过window.addEventListener('scroll', XXXX)无法监听屏幕滚动事件
    在vue里面无法通过document.getElementById来修改ElementUI自带的标签
    Vue-Router升级导致的Uncaught (in promise)问题【转载别人的】
    node安装依赖以及使用api
  • 原文地址:https://www.cnblogs.com/oscarxie/p/588822.html
Copyright © 2011-2022 走看看