兼容所有浏览器的加入收藏和设为首页代码

最近发现ff下不能正常执行原本在IE里可以使用的加入收藏和设为首页功能。下面贴出修改后可以运行的代码。

    加入收藏

function AddFavorite(sURL, sTitle)
...{
    try
    ...{
        window.external.addFavorite(sURL, sTitle);
    }
    catch (e)
    ...{
        try
        ...{
            window.sidebar.addPanel(sTitle, sURL, \"\");
        }
        catch (e)
        ...{
            alert(\"加入收藏失败,请使用Ctrl+D进行添加\");
        }
    }
}
使用方法:<a onclick=\"AddFavorite(window.location,document.title)\">加入收藏</a& gt;
设为首页
function SetHome(obj,vrl)...{
        try...{
                obj.style.behavior=’url(#default#homepage)’;obj.setHomePage(vrl);
        }
        catch(e)...{
                if(window.netscape) ...{
                        try ...{
                                netscape.security.PrivilegeManager.enablePrivilege(\"UniversalXPConnect\");
                        }
                        catch (e)  ...{
                                alert(\"此操作被浏览器拒绝!请在浏览器地址栏输入“about:config”并回车然后将 [signed.applets.codebase_principal_support]设置为’true’\");   [Page]
                        }
                        var prefs = Components.classes[’@mozilla.org/preferences-service;1’].getService(Components.interfaces.nsIPrefBranch);
                        prefs.setCharPref(’browser.startup.homepage’,vrl);
                 }
        }
}
    使用方法:<a onclick=\"SetHome(this,window.location)\">设为首页</a>
    注意上面一行那个this.

 只能是ie浏览器用

<a href=\"javascript:window.external.AddFavorite(location.href+'#sc','★'+document.title)\"><IMG  src=\"http://www.bioon.com.cn/images/2010/ie.gif/" height=\"16\" width=\"16\"  border=\"0\" alt=\"添加到收藏夹\" title=\"添加到收藏夹\"></a>

<script>
function addfavorite()
{
if (document.all)
{ window.external.addFavorite(location.href,document.title);); }
else if (window.sidebar)
{ window.sidebar.addPanel(document.title,location.href, ""); }
}
</script>
<a href="#" onclick="addfavorite()">加入收藏</a>
下面这个也是Javascript加入收藏夹代码,同样支持firefox
<script type="text/javascript">
function addBookmark(title,url) {
if (window.sidebar) {
window.sidebar.addPanel(title, url,"");
} else if( document.all ) {
window.external.AddFavorite( url, title);
} else if( window.opera && window.print ) {
return true;
}
}
</script> 页面使用:<a href=javascript:addBookmark(document.title,location.href)> 添加到收藏</a>

在IE8中点击加入收藏
AddToFavoritesBar API 方法
这是为促进添加到收藏夹栏而供网站使用的一种新方法。用户调用此方法后,允许预订 WebSlice 的对话框将出现。
window.external.addToFavoritesBar(string URL, string Title, [optional] string Type)
URL:必需。这是要添加的 WebSlice 的 URL。它是包括 WebSlice 锚点的完整 URL。
标题:必需。这是 WebSlice 的名称。
类型:可选。这是链接的类型。此值必须为“slice”,以便 Internet Explorer 8 Beta for Developers 可以预订此 WebSlice。
以下为一个示例,说明 Web 页面内的按钮如何实现此 API。
<button onclick="javascript:window.external.addToFavoritesBar(location.href, document.title, ’slice’)">Add WebSlice</button>

原文地址:https://www.cnblogs.com/ly312/p/1864194.html