一、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>