浅谈window.sidebar

本文要点:

1)         Window.sidebar是个什么东东?

2)         采用何种规范?

3)         提供哪些方法?

4)         各自的用途局限?

5)         哪些360的产品用到了?

6)         兼容主流浏览器的【加入收藏】实例

 

一、Window.sidebar简介

是一种文档对象模型,返回侧边栏的对象,其中包含浏览器加载项注册的几种方法

 

例子:window.sidebar.addPanel(”360安全中心”,http://www.360.cn/,””);

 注:第三个空参数是必需的!

 

二、规范

Mozilla的规范,不属于任何标准来衡量

 

三、 Window.sidebar对象方法

  侧边栏返回的对象有以下几种方法:

方法

描述

addPanel(title,contentURL,customizeURL)

添加了一个侧边栏面板.创建一个Firefox侧边栏在Firefox 2和更高版本的侧边栏的详细信息.

addPersistentPanel(title,contentURL,customizeURL)

添加侧边栏面板,这是能够在后台工作。SeaMonkey的或Firefox 1.x的这唯一的作品;Firefox 2和以后只会做addPanel().

addSearchEngine(engineURL,iconURL,suggestedTitle,suggestedCategory)

安装一个搜索引擎。从网页中添加搜索引擎的细节.

addMicrosummaryGenerator(generatorURL)需要的Gecko 1.8.1

安装一个microsummary发电机.

四、各方法的用途局限

   1. 不是所有的浏览器都支持window.sidebar

     如:ie使用:window.external.addFavorite()

             Firefox使用:window.sidebar.addPanel()

            其他浏览器没有此功能

   2. 使用情况来说:addPanel()使用的较多,其他方法较少

   3. 其他主流浏览器(chrome、opera、safari)不能使用该对象,不过可以提醒用户使用ctrl+d的方法手动添加

 

五、运用该对象的360产品

1)    360游戏导航

  

2)    360搞笑、笑话 

  

六、兼容主流浏览器的【加入收藏】实例

  兼容FirefoxIEchromesafariopera浏览器的方法

  既然Firefox提供了两种方式,那么我们兼容Firefox、IE、chrome、safari、opera浏览器也可以用两种方法了。

  第一种方法:

  这里用了一个变通的方式来解决这个问题,代码比较清晰。这个是最好的方式了!

View Code
<script type="text/javascript">

function addFavorite(){

      var title = document.title;

      var URL = document.URL;

//   alert(title+" ==> "+URL);

      try {

           window.external.addFavorite(URL, title);          //ie

      } catch(e) {

           try {

                 window.sidebar.addPanel(title, URL, "");     //firefox

           } catch(e) {

                 alert("加入收藏失败,请使用Ctrl+D进行添加");     //chrome opera safari

           }

      }

}

</script><a href="#" onclick="addfavorite()">加入收藏</a>

  第二种方法:

  此方法必须手动写入href 和 title,例子如下:

View Code
<a href="http://www.360.cn"

onclick="try{window.external.addFavorite(this.href,this.title);}catch(e){alert('加入收藏失败,请使用Ctrl+D进行添加');} return false;" title="360安全中心" rel="sidebar">加入收藏</a>

 

 

posted @ 2012-08-08 15:27  黑MAO  阅读(4881)  评论(0编辑  收藏  举报