js Firefox 加入收藏夹功能代码 兼容Firefox 和 IE

  作者:bea

完整代码如下:chrome下也有提示,说实话一般这类代码一般都是IE下使用,其它浏览器也只是给个提示了。 <script type="text/javascript">//设为首页 function SetHome(obj,url){ try{ obj.style.behavior='url(#default#homepage)'; obj.setHomePage(url); }catch(e){ if(window.netscape)
完整代码如下:chrome下也有提示,说实话一般这类代码一般都是IE下使用,其它浏览器也只是给个提示了。


<script type="text/javascript">
//设为首页
function SetHome(obj,url){
try{
obj.style.behavior='url(#default#homepage)';
obj.setHomePage(url);
}catch(e){
if(window.netscape){
try{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}catch(e){
alert("抱歉,此操作被浏览器拒绝!

请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为'true'");
}
}else{
alert("抱歉,您所使用的浏览器无法完成此操作。

您需要手动将【"+url+"】设置为首页。");
}
}
}

//收藏本站
function AddFavorite(title, url) {
try {
window.external.addFavorite(url, title);
}
catch (e) {
try {
window.sidebar.addPanel(title, url, "");
}
catch (e) {
alert("抱歉,您所使用的浏览器无法完成此操作。

加入收藏失败,请进入新网站后使用Ctrl+D进行添加");
}
}
}
</script>
<a href="javascript:void(0);" onclick="SetHome(this,'http://');">设为首页</a>
<div class="text text2"><a href="javascript:void(0);" onclick="AddFavorite('','http://')">收 藏 本 站</a>

下面是一些具体的讲解:
1、IE浏览器加入收藏夹的代码
 window.external.addFavorite(sURL, sTitle); 参数: sURL:添加到收藏夹的完整网站页面地址 sTitle:添加到收藏夹中的网站页面标题名称。
 示例: <a href='#' onClick="javascript:window.external.AddFavorite('http://www.domain.com', '名字');">加入收藏</a> 2、Firefox浏览器加入收藏夹的代码
 Firefox中叫做加入书签(收藏夹),代码有两种方式,一种同IE浏览器的方法类似,只不过是window.external.AddFavorite换成了sidebar.addPanel,另外一种却十分简单,只需要加一个参数就可以了。
 第一种方法:
 window.sidebar.addPanel(sTitle, sURL, ""); 参数 sURL:收藏的网站页面完整连接 sTitle:收藏网站页面的名称
 示例: <a href='#' onClick="javascript:window.sidebar.addPanel('名字','http://www.domain.com','');">收藏本站</a> 这里要注意,addPanel函数的参数顺序与addFavorite刚好是相反的。
 第二种方法:
 在链接上添加rel="sidebar"属性
 示例: <a href=http://www.domain.com title="名字" rel="sidebar">收藏本站</a> 注意:这里的title属性就是收藏网站页面的名称。 3、兼容Firefox和IE浏览器的方法 既然Firefox提供了两种方式,那么我们兼容Firefox和IE浏览器也可以用两种方法了。 第一种方法: 这里用了一个变通的方式来解决这个问题,代码比较清晰。这个是最好的方式了!



<script>

function addfavorite()

{

if (document.all)

{

window.external.addFavorite('http://www.domain.com','名字');

}

else if (window.sidebar)

{

window.sidebar.addPanel('名字', 'www.domain.com', "");

}

}

</script>

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





[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]

需要注意的是ie是域名在前面,firefox是域名在后门,最后留一个空字符。

第二种方法:
 这个是最简单的一个方法了,只有一句话。

 <a href='http://www.domain.com' onClick="javascript:window.external.AddFavorite('http://www.domain.com',' 名字');" title="名字" rel="sidebar">收藏本站</a>
但是这种方法有些问题,就是在IE下回同时打开链接中的地址。那么我们来优化一下!

 <a href="www.domain.com/" onclick="window.external.addFavorite(this.href,this.title);return false;" title='名字' rel="sidebar">加入收藏</a>

 这样就没问题啦,哈哈!同时兼容IE6、IE7、Firefox、Opera等浏览器。
更多的兼容性更好的代码,可以搜索以前的文章。


最下面的 加入收藏 设为首页功能。




<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;

}

}



function setHome(url)

{

if (document.all){

document.body.style.behavior='url(#default#homepage)';

document.body.setHomePage(url);

}else if (window.sidebar){

if(window.netscape){

try{

netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

}catch (e){

alert( "该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true" );

}

}

if(window.confirm("你确定要设置"+url+"为首页吗?")==1){

var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);

prefs.setCharPref('browser.startup.homepage',url);

}

}

}

</script>

<a href="javascript:void(null)" onClick="setHome('http://');">设为首页</a> - <a href="javascript:addBookmark('','http://')">加入收藏</a>





[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]




有用  |  无用

猜你喜欢