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


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 相关文章推荐
JQuery 图片滚动轮播示例代码
Mar 24 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
Jun 24 Javascript
原生js仿jquery animate动画效果
Jul 13 Javascript
深入理解jQuery3.0的domManip函数
Sep 01 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
Oct 27 Javascript
bootstrap警告框示例代码分享
May 17 Javascript
js获取一组日期中最近连续的天数
May 25 Javascript
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
微信小程序实现一张或多张图片上传(云开发)
Sep 25 Javascript
vue中改变滚动条样式的方法
Mar 03 Javascript
vue里使用create, mounted调用方法
Apr 26 Vue.js
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
php简单统计在线人数的方法
2016/05/10 PHP
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
react高阶组件经典应用之权限控制详解
2017/09/07 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
python读文件逐行处理的示例代码分享
2013/12/27 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
Sanic框架应用部署方法详解
2018/07/18 Python
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
政法大学毕业生自荐信范文
2014/01/01 职场文书
创业融资计划书
2014/04/25 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
初中作文评语
2014/12/25 职场文书
公司承诺书格式范文
2015/04/28 职场文书
被告答辩状范文
2015/05/22 职场文书
入党后的感想
2015/08/10 职场文书
学校教师培训工作总结
2015/10/14 职场文书
化工生产实习心得体会
2016/01/22 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书