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

所属分类: 网络编程 / JavaScript 阅读数: 572
收藏 0 赞 0 分享

完整代码如下:chrome下也有提示,说实话一般这类代码一般都是IE下使用,其它浏览器也只是给个提示了。

<script type="text/javascript">
//设为首页 www.jb51.net
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("抱歉,此操作被浏览器拒绝!\n\n请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为'true'");
     }
    }else{
    alert("抱歉,您所使用的浏览器无法完成此操作。\n\n您需要手动将【"+url+"】设置为首页。");
    }
 }
}
 
//收藏本站 www.jb51.net
function AddFavorite(title, url) {
 try {
   window.external.addFavorite(url, title);
 }
catch (e) {
   try {
    window.sidebar.addPanel(title, url, "");
  }
   catch (e) {
     alert("抱歉,您所使用的浏览器无法完成此操作。\n\n加入收藏失败,请进入新网站后使用Ctrl+D进行添加");
   }
 }
}
</script>
<a href="javascript:void(0);" onclick="SetHome(this,'https://www.jb51.net');">设为首页</a>
<div class="text text2"><a href="javascript:void(0);" onclick="AddFavorite('脚本之家','https://www.jb51.net')">收 藏 本 站</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浏览器也可以用两种方法了。
第一种方法:
这里用了一个变通的方式来解决这个问题,代码比较清晰。这个是最好的方式了!


[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等浏览器。
更多的兼容性更好的代码,可以搜索脚本之家以前的文章。

脚本之家最下面的 加入收藏 设为首页功能

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

更多精彩内容其他人还在看

Angular使用Md5加密的解决方法

这篇文章主要介绍了Angular使用Md5加密的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解JS构造函数中this和return

本文通过实例代码给大家介绍了JS构造函数中this和return,需要的朋友参考下吧
收藏 0 赞 0 分享

ES6中Array.find()和findIndex()函数的用法详解

ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。下面通过实例详解,需要的朋友参考下吧
收藏 0 赞 0 分享

JS闭包的几种常见形式实例详解

本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
收藏 0 赞 0 分享

ES6中Array.copyWithin()函数的用法实例详解

ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去。下面重点给大家介绍ES6中Array.copyWithin()函数的用法,需要的朋友参考下
收藏 0 赞 0 分享

Javascript 严格模式use strict详解

严格模式:由ECMA-262规范定义的JavaScript标准,对javascrip的限制更强。这篇文章主要介绍了Javascript 严格模式use strict详解 ,需要的朋友可以参考下
收藏 0 赞 0 分享

引入JavaScript时alert弹出框显示中文乱码问题

今天在HTML中引入JavaScript文件运行时,alert弹出的提示框中文显示为乱码,怎么解决此问题呢?下面小编给大家带来了引入JavaScript时alert弹出框显示中文乱码问题的解决方法,一起看看吧
收藏 0 赞 0 分享

AngularJs 延时器、计时器实例代码

这篇文章主要介绍了AngularJs 延时器、计时器实例代码,需要的朋友可以参考下
收藏 0 赞 0 分享

JS分页的实现(同步与异步)

这篇文章主要介绍了JS分页的实现(同步与异步),需要的朋友可以参考下
收藏 0 赞 0 分享

Angularjs自定义指令实现分页插件(DEMO)

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能,下面小编把实例demo分享到脚本之家平台,需要的朋友参考下
收藏 0 赞 0 分享
查看更多