淺談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>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM