Javascript 兼容 IE6、IE7、FF 的“加入收藏”“設為首頁” – Javascript教程_JS教程_技術文章 – 程式設計聯盟

IE6、IE7 的“加入收藏”代碼:
window.external.addFavorite(sURL, sTitle);
說明:
addFavorite 的第一個字母a不是大寫!縱然微軟參考上是大寫,但“事實勝於雄辯”。
Firefox 的“加入收藏”代碼:
方法一、
<a href="" title="YCPENG's blog" rel="sidebar">加入收藏</a>
關鍵在於 rel="sidebar";href 屬性值作為收藏網址;title 作為收藏名稱。
方法二、
window.sidebar.addPanel(sTitle, sURL, "");
第一個參數是收藏名稱;第二個參數是收藏網址;第三個是自定義 Tab 所需的 URL,為零長度字符串即可。註意參數順序與 addFavorite 不同。我們推薦第二種方法。
不論哪一種方法,加入收藏夾後,單擊收藏的項目都是在側邊欄(sidebar)中打開網頁,要在主窗口中打開隻有兩種辦法:法一是右鍵打開;法二是右鍵改其屬性。這不能不說是 Firefox 收藏夾的遺憾。
兼容 IE6、IE7、FF 的“加入收藏”完整代碼:
<script type="text/javascript" language="javascript">
function AddFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle);
    } catch (e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "");
        } catch (e) {
            alert("加入收藏失敗,請手動添加.");
        }
    }
}
function setHomepage(pageURL) {
    if (document.all) {
        document.body.style.behavior='url(#default#homepage)';
        document.body.setHomePage(pageURL);
    }
    else if (window.sidebar) {
        if(window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }
            catch (e) {
                alert( "該操作被瀏覽器拒絕,如果想啟用該功能,請在地址欄內輸入 about:config,然後將項signed.applets.codebase_principal_support 值該為true" );
            }
        }
        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
        prefs.setCharPref('browser.startup.homepage',pageURL);
    }
}
</script>
<a href="javascript:setHomepage('url');">設為首頁</a>
<a href="#" onclick="javascript:AddFavorite('url', 'sitename');return false">加入收藏</a> 

摘自 順子網絡

發佈留言