本文要點(diǎn):
1) Window.sidebar是個什么東東?
2) 采用何種規(guī)范?
3) 提供哪些方法?
4) 各自的用途局限?
5) 哪些360的產(chǎn)品用到了?
6) 兼容主流瀏覽器的【加入收藏】實(shí)例
一、Window.sidebar簡介
是一種文檔對象模型,返回側(cè)邊欄的對象,其中包含瀏覽器加載項(xiàng)注冊的幾種方法
例子:window.sidebar.addPanel(”360安全中心”,
http://www.#/,””);
注:第三個空參數(shù)是必需的!
二、規(guī)范
Mozilla的規(guī)范,不屬于任何標(biāo)準(zhǔn)來衡量
三、 Window.sidebar對象方法
側(cè)邊欄返回的對象有以下幾種方法:
方法
描述
addPanel(title,contentURL,customizeURL)
添加了一個側(cè)邊欄面板.
創(chuàng)建一個Firefox側(cè)邊欄在Firefox 2和更高版本的側(cè)邊欄的詳細(xì)信息.
addPersistentPanel(title,contentURL,customizeURL)
添加側(cè)邊欄面板,這是能夠在后臺工作。SeaMonkey的或Firefox 1.x的這唯一的作品;Firefox 2和以后只會做addPanel().
addSearchEngine(engineURL,iconURL,suggestedTitle,suggestedCategory)
安裝一個搜索引擎。
從網(wǎng)頁中添加搜索引擎的細(xì)節(jié).
addMicrosummaryGenerator(generatorURL)需要的Gecko 1.8.1
安裝一個microsummary發(fā)電機(jī).
四、各方法的用途局限
1. 不是所有的瀏覽器都支持window.sidebar
如:ie使用:window.external.addFavorite()
Firefox使用:window.sidebar.addPanel()
其他瀏覽器沒有此功能
2. 使用情況來說:addPanel()使用的較多,其他方法較少
3. 其他主流瀏覽器(chrome、opera、safari)不能使用該對象,不過可以提醒用戶使用ctrl+d的方法手動添加
五、運(yùn)用該對象的360產(chǎn)品
1) 360游戲?qū)Ш?div style="height:15px;">
2) 360搞笑、笑話
六、兼容主流瀏覽器的【加入收藏】實(shí)例
兼容Firefox、IE、chrome、safari、opera瀏覽器的方法
既然Firefox提供了兩種方式,那么我們兼容Firefox、IE、chrome、safari、opera瀏覽器也可以用兩種方法了。
第一種方法:
這里用了一個變通的方式來解決這個問題,代碼比較清晰。這個是最好的方式了!
<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進(jìn)行添加"); //chrome opera safari } }}</script><a href="#" onclick="addfavorite()">加入收藏</a>
第二種方法:
此方法必須手動寫入href 和 title,例子如下:
<a href="http://www.#"onclick="try{window.external.addFavorite(this.href,this.title);}catch(e){alert('加入收藏失敗,請使用Ctrl+D進(jìn)行添加');} return false;" title="360安全中心" rel="sidebar">加入收藏</a>