添加到收藏夹代码(兼容几乎所有的浏览器)


Posted in Javascript onJanuary 09, 2007

兼容IE5+/Win, Firefox, Netscape 6+, Opera 7+, Safari, Konqueror 3, IE5/Mac, 还有 iCab 3.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
  <head> 
    <title> addbookmark cross all browser - http://www.never-online.net </title> 
    <meta http-equiv="ImageToolbar" content="no" /> 
    <meta name="author" content="never-online, BlueDestiny"/> 
    <meta name="keywords" content="never modules, Mozilla CSS, C#, .net, Reference, BlueDestiny, never-online"/> 
    <meta name="description" content="addbookmark cross all browser, javascript reference, c sharp artilces"/> 
    <meta name="creator.name" content="never-online, BlueDestiny" /> 
    <style type="text/css" media="all" title="Default"> 
      body { 
        color: windowtext;  
        background: appworkspace; 
        font-family: Arial; 
        font-size:9pt; 
        line-height:150%; 
      } 
      h1, h2, h3, h4 { 
        color:#fff; 
        font-family: "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif; 
      } 
      a { 
        color:#fff; 
      } 
      div#header { 
        text-align:center; 
        color:#eee; 
      } 
      div#header a { 
        color:#fff; 
        font-weight:bold; 
      } 
      div#footer { 
        margin-top:10px; 
        text-align:center; 
        color:#eee; 
        font-size:8pt; 
      } 
      div#operator { 
        margin:20px 0 20px 0; 
      } 
      div#operator ul, div#operator li { 
        margin:0; 
        padding:0; 
      } 
      div#operator li { 
        display:inline; 
        list-style-type:none; 
        margin-right:5px; 
        margin-left:5px; 
        border:1px solid #000; 
        padding:5px; 
        color:#000; 
        background-color:#eee; 
        cursor:hand; 
        cursor:pointer; 
      } 
      hr { 
        margin:10px 0 10px 0; 
      } 
      div.wrapper { 
        text-align:center; 
      } 
      div.content { 
        border:1px solid #333; 
        background-color:buttonface; 
        color:#000; 
        padding:10px; 
        margin:10px 0 10px 0; 
        font-size:10pt; 
        line-height:150%; 
        text-align:left; 
        width:80%; 
        margin-left: auto; 
        margin-right: auto; 
        -moz-box-sizing:border-box; 
      } 
      div.content a { 
        color:#000; 
      } 
      div.content h4 { 
        color:#000; 
        margin-left:10px; 
        text-align:left; 
      } 
    </style> 
    <script type="text/javascript"> 
    //<![CDATA[ 
      /*  
      *  Copyright 2006 Dynamic Site Solutions. 
      *  Free use of this script is permitted for non-commercial applications, 
      *  subject to the requirement that this comment block be kept and not be 
      *  altered.  The data and executable parts of the script may be changed 
      *  as needed.  Dynamic Site Solutions makes no warranty regarding fitness 
      *  of use or correct function of the script.  Terms for use of this script 
      *  in commercial applications may be negotiated; for this, or for other 
      *  questions, contact "license-info@dynamicsitesolutions.com". 
      * 
      *  Script by: Dynamic Site Solutions -- http://www.dynamicsitesolutions.com/ 
      *  Last Updated: 2006-08-03 
      */       //IE5+/Win, Firefox, Netscape 6+, Opera 7+, Safari, Konqueror 3, IE5/Mac, iCab 3 
      var addBookmarkObj = { 
        init:function() { 
          if(!document.getElementById || !document.createTextNode) return; 
          var cont=document.getElementById('addBookmarkContainer'); 
          if(!cont) return; 
          var a=document.createElement('a'); 
          a.href=location.href; 
          if(!window.opera) { // this doesn't work in Opera 7+ if the link has an  
            // onclick handler, so we only add it if the browser isn't Opera. 
            a.onclick=function() { 
              addBookmarkObj.exec(this.href,this.title); 
              return false; 
            } 
          } 
          a.rel='sidebar'; // this makes it work in Firefox and Opera 7+ 
          a.title=document.title; 
          a=cont.appendChild(a); 
          a.appendChild(document.createTextNode('Bookmark This Page')); 
        }, 
        exec:function(url, title) { 
          var isKonq=(isLikelyKonqueror3 && isLikelyKonqueror3()); 
          var isMac=(navigator.userAgent.toLowerCase().indexOf('mac')!=-1); 
          var buttonStr = isMac?'Command/Cmd':'CTRL'; 
          if(window.external && (!document.createTextNode || 
            (typeof(window.external.AddFavorite)=='unknown'))) { 
              // IE4/Win generates an error when you 
              // execute "typeof(window.external.AddFavorite)" 
              // In IE7 the page must be from web server, not directly from a local  
              // file system, otherwise, you get a permission denied error. 
              window.external.AddFavorite(url, title); // IE/Win 
          } else if(isKonq) { 
            alert('You need to press CTRL + B to bookmark our site.'); 
          } else if((window.sidebar && 
             (navigator.userAgent.toLowerCase().indexOf('firefox')!=-1)) || 
             (window.opera && opera.buildNumber && !isNaN(opera.buildNumber()))) { 
               void(0); // do nothing here (Firefox or Opera 7+) 
          } else if(window.opera) { // older Opera 
            alert('You need to press '+buttonStr+' + T to bookmark our site.'); 
          } else if(window.home) { // Netscape, iCab 
            alert('You need to press '+buttonStr+' + D to bookmark our site.'); 
          } else if(!window.print || isMac) { // IE5/Mac and Safari 1.0 
            alert('You need to press Command/Cmd + D to bookmark our site.');     
          } else { 
            alert('In order to bookmark this site you need to do so manually '+ 
              'through your browser.'); 
          } 
        } 
      } 
      function isLikelyKonqueror3() { 
        if(!document.getElementById) return false; 
        if(document.defaultCharset || window.opera || !window.print) return false; 
        if(window.home) return false; /* Konqueror doesn't support this but Firefox,  
          which has silent support for document.all when in Quirks Mode does */ 
        if(document.all) return true; // Konqueror versions before 3.4 
        var likely = 1; 
        // testing for silent document.all support; try-catch used to keep it from 
        // generating errors in other browsers. 
        // try-catch causes errors in IE4 so we use the eval() to hide it. 
        // try { 
        //   var str=document.all[0].tagName; 
        // } catch(err) { likely=0; } 
        eval("try{var str=document.all[0].tagName;}catch(err){likely=0;}"); 
        return likely; 
      } 
      function dss_addEvent(el,etype,fn) { 
        if(el.addEventListener && (!window.opera || opera.version) && 
        (etype!='load')) { 
          el.addEventListener(etype,fn,false); 
        } else if(el.attachEvent) { 
          el.attachEvent('on'+etype,fn); 
        } else { 
          if(typeof(fn) != "function") return; 
          var tempFunc = el['on'+etype]; 
          el['on'+etype] = function() { 
            if(typeof(tempFunc) == "function") tempFunc(); 
            fn(); 
          } 
        } 
      } 
      dss_addEvent(window,'load',addBookmarkObj.init); 
    //]]> 
    </script> 
  </head> 
  <body id="www.never-online.net"> 
    <div id="header"><h1> cross-browser addBookmark </h1>by www.dynamicsitesolutions.com<hr/></div> 
    <div class="wrapper"> 
      <div class="content"> 
      <h4> demonstration </h4> 
      <div id="addBookmarkContainer"></div> 
      </div>     
    </div> 
    <div id="footer">collected by <a href="http://www.never-online.net">http://www.never-online.net</a></div> 
  </body> 
</html>
Javascript 相关文章推荐
javascript:;与javascript:void(0)使用介绍
Jun 05 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
Aug 02 Javascript
jQuery检测滚动条是否到达底部
Dec 15 Javascript
EasyUi combotree 实现动态加载树节点
Apr 01 Javascript
用JavaScript获取页面文档内容的实现代码
Jun 10 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
Sep 19 Javascript
arcgis for js 修改infowindow样式的方法
Nov 02 Javascript
深入理解选择框脚本[推荐]
Dec 13 Javascript
完美解决axios跨域请求出错的问题
Feb 05 Javascript
Vue实现数据表格合并列rowspan效果
Nov 30 Javascript
vue实现配置全局访问路径头(axios)
Nov 01 Javascript
原生js实现点击按钮复制内容到剪切板
Nov 19 Javascript
Web版彷 Visual Studio 2003 颜色选择器
Jan 09 #Javascript
一个对于js this关键字的问题
Jan 09 #Javascript
JS控件autocomplete 0.11演示及下载 1月5日已更新
Jan 09 #Javascript
根据分辩率调用不同的CSS.
Jan 08 #Javascript
如何用javascript判断录入的日期是否合法
Jan 08 #Javascript
[IE&amp;FireFox兼容]JS对select操作
Jan 07 #Javascript
javascript中的对象和数组的应用技巧
Jan 07 #Javascript
You might like
雄兵连:第三季确定会出,不过时间未定,鹤熙是第三季的主角!
2020/03/13 国漫
非常好的php目录导航文件代码
2006/10/09 PHP
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
PHP封装的PDO数据库操作类实例
2017/06/21 PHP
js版本A*寻路算法
2006/12/22 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
JS设置手机验证码60s等待实现代码
2017/06/14 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
原生js实现购物车
2020/09/23 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
会计助理的岗位职责
2013/11/29 职场文书
大学新生欢迎词
2014/01/10 职场文书
家长学校工作方案
2014/05/07 职场文书
英语教育专业自荐信
2014/05/29 职场文书
教师个人考察材料
2014/12/16 职场文书
五年级小学生评语
2014/12/26 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书