浅谈window.sidebar和document.all

一、Window.sidebar简介

是一种文档对象模型,返回侧边栏的对象,其中包含浏览器加载项注册的几种方法

 

例子:window.sidebar.addPanel(”360安全中心”,http://www.360.cn/,””);

 注:第三个空参数是必需的!

 

二、规范

Mozilla的规范,不属于任何标准来衡量

 

三、 Window.sidebar对象方法

  侧边栏返回的对象有以下几种方法:

方法

描述

addPanel(title,contentURL,customizeURL)

添加了一个侧边栏面板.创建一个Firefox侧边栏在Firefox 2和更高版本的侧边栏的详细信息.

addPersistentPanel(title,contentURL,customizeURL)

添加侧边栏面板,这是能够在后台工作。SeaMonkey的或Firefox 1.x的这唯一的作品;Firefox 2和以后只会做addPanel().

addSearchEngine(engineURL,iconURL,suggestedTitle,suggestedCategory)

安装一个搜索引擎。从网页中添加搜索引擎的细节.

addMicrosummaryGenerator(generatorURL)需要的Gecko 1.8.1

安装一个microsummary发电机.

四、各方法的用途局限

   1. 不是所有的浏览器都支持window.sidebar

     如:ie使用:window.external.addFavorite()

             Firefox使用:window.sidebar.addPanel()

            其他浏览器没有此功能

   2. 使用情况来说:addPanel()使用的较多,其他方法较少

   3. 其他主流浏览器(chrome、opera、safari)不能使用该对象,不过可以提醒用户使用ctrl+d的方法手动添加

 

五、运用该对象的360产品

1)    360游戏导航

  

2)    360搞笑、笑话 

  

六、兼容主流浏览器的【加入收藏】实例

  兼容Firefox、IE、chrome、safari、opera浏览器的方法

  既然Firefox提供了两种方式,那么我们兼容Firefox、IE、chrome、safari、opera浏览器也可以用两种方法了。

  第一种方法:

  这里用了一个变通的方式来解决这个问题,代码比较清晰。这个是最好的方式了!

一、Window.sidebar简介

是一种文档对象模型,返回侧边栏的对象,其中包含浏览器加载项注册的几种方法

 

例子:window.sidebar.addPanel(”360安全中心”,http://www.360.cn/,””);

 注:第三个空参数是必需的!

 

二、规范

Mozilla的规范,不属于任何标准来衡量

 

三、 Window.sidebar对象方法

  侧边栏返回的对象有以下几种方法:

方法

描述

addPanel(title,contentURL,customizeURL)

添加了一个侧边栏面板.创建一个Firefox侧边栏在Firefox 2和更高版本的侧边栏的详细信息.

addPersistentPanel(title,contentURL,customizeURL)

添加侧边栏面板,这是能够在后台工作。SeaMonkey的或Firefox 1.x的这唯一的作品;Firefox 2和以后只会做addPanel().

addSearchEngine(engineURL,iconURL,suggestedTitle,suggestedCategory)

安装一个搜索引擎。从网页中添加搜索引擎的细节.

addMicrosummaryGenerator(generatorURL)需要的Gecko 1.8.1

安装一个microsummary发电机.

四、各方法的用途局限

   1. 不是所有的浏览器都支持window.sidebar

     如:ie使用:window.external.addFavorite()

             Firefox使用:window.sidebar.addPanel()

            其他浏览器没有此功能

   2. 使用情况来说:addPanel()使用的较多,其他方法较少

   3. 其他主流浏览器(chrome、opera、safari)不能使用该对象,不过可以提醒用户使用ctrl+d的方法手动添加

 

五、运用该对象的360产品

1)    360游戏导航

  

2)    360搞笑、笑话 

  

六、兼容主流浏览器的【加入收藏】实例

  兼容Firefox、IE、chrome、safari、opera浏览器的方法

  既然Firefox提供了两种方式,那么我们兼容Firefox、IE、chrome、safari、opera浏览器也可以用两种方法了。

  第一种方法:

  这里用了一个变通的方式来解决这个问题,代码比较清晰。这个是最好的方式了!

<script type="text/javascript">
function addFavorite(){
      var title = document.title;
      var URL = document.URL;
//   alert(title+" ==> "+URL);
      try {
           window.external.addFavorite(URL, title);          //ie
      } catch(e) {
           try {
                 window.sidebar.addPanel(title, URL, "");     //firefox
           } catch(e) {
                 alert("加入收藏失败,请使用Ctrl+D进行添加");     //chrome opera safari
           }
      }
}
</script><a href="#" οnclick="addfavorite()">加入收藏</a>

第二种方法:

  此方法必须手动写入href 和 title,例子如下:

<a href="http://www.360.cn"

οnclick="try{window.external.addFavorite(this.href,this.title);}catch(e){alert('加入收藏失败,请使用Ctrl+D进行添加');} return false;" title="360安全中心" rel="sidebar">加入收藏</a>
document.all的用法

一.
 document.all是页面内所有元素的一个集合。例如:      
 document.all(0)表示页面内第一个元素

二.
document.all可以判断浏览器是否是IE  
  if(document.all){  
    alert("is   IE!");  
  }
三.
也可以通过给某个元素设置id属性(id=aaaa),然后用document.all.aaaa调用该元素
四.
案例:

代码1:    
  <input   name=aaa   value=aaa>  
  <input   id=bbb   value=bbb>   
  <script   language=Jscript>  
      alert(document.all.aaa.value)     //根据name取value  
      alert(document.all.bbb.value)     //根据id取   value  
  </script>    
代码2:  
      但是常常name可以相同(如:用checkbox取用户的多项爱好的情况)   
  <input   name=aaa   value=a1>  
  <input   name=aaa   value=a2>  
  <input   id=bbb   value=bbb>   
  <script   language=Jscript>  
      alert(document.all.aaa(0).value)     //显示a1  
      alert(document.all.aaa(1).value)     //显示a2  
      alert(document.all.bbb(0).value)     //这行代码会失败  
  </script>    
代码3:  
      理论上一个页面中的id是互不相同的,如果出现不同tags有相同的id  
  document.all.id   就会失败,就象这样:  
  <input   id=aaa   value=a1>  
  <input   id=aaa   value=a2>  
  <script   language=Jscript>  
      alert(document.all.aaa.value)     //显示   undefined   而不是   a1或者a2  
  </script>   
代码4:  
 对于一个复杂的页面(代码很长,或者id是由程序自动产生),或着一个  
  javascript初学者写的程序,很有可能出现两个tags有相同id的情况。  
 为了编程的时候不出错,我推荐这样的写法:  
   
  <input   id=aaa   value=aaa1>  
  <input   id=aaa   value=aaa2>  
  <input   name=bbb   value=bbb>  
  <input   name=bbb   value=bbb2>  
  <input   id=ccc   value=ccc>  
  <input   name=ddd   value=ddd>  
   
  <script   language=Jscript>  
      alert(document.all("aaa",0).value)    
      alert(document.all("aaa",1).value)    
      alert(document.all("bbb",0).value)    
      alert(document.all("bbb",1).value)    
      alert(document.all("ccc",0).value)    
      alert(document.all("ddd",0).value)    
  </script>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值