网站加入收藏的兼容代码

JavaScript04

网站加入收藏的兼容代码,第1张

可兼容所有浏览器的加入收藏代码代码,原理:根据获取用户navigator.userAgent.toLowerCase()信息来判断浏览器,根据浏览器是否支持加入收藏js命令,如果可以自动收藏否则就提示ctrl+D手动收藏了。

代码如下:

function addFavorite2() {

var url = window.location

var title = document.title

var ua = navigator.userAgent.toLowerCase()

if (ua.indexOf("360se") >-1) {

alert("由于360浏览器功能限制,请按 Ctrl+D 手动收藏!")

}

else if (ua.indexOf("msie 8") >-1) {

window.external.AddToFavoritesBar(url, title)//IE8

}

else if (document.all) {

try{

window.external.addFavorite(url, title)

}catch(e){

alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!')

}

}

else if (window.sidebar) {

window.sidebar.addPanel(title, url, "")

}

else {

alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!')

}

}

复制代码保存成js文件,然后在要收藏的地方加上

代码如下

<a href=# onclick="javascript:addFavorite2()">加入收藏</a>

添加到收藏夹这一功能,不能覆盖所有浏览器,所以这里要采用渐进式增强的思想。

下面的写法兼容了IE、Firefox、Opera。而在chrome下提醒用户按快捷键收藏。

<a rel="sidebar" title="联想导航" href="http://www.idea123.cn">添加收藏</a>

<script>

$("a[rel='sidebar']").click(function(e) {

var href = this.href || document.location,

title = this.title || document.title

try{

if(window.sidebar){

sidebar.addPanel(title, href, "")

}else{

external.addFavorite(href, title)

}

}catch(e){

alert("加入收藏失败,请按Ctrl+D进行添加")

}

return false

})

</script>