浏览器不断发展,js的很多脚本需要跟进才能适应,目前多数代码对新版本浏览器(IE11, Firefox 27)无法适用,特关注跟进。
推荐代码1
适用浏览器:IE11(windows 8.1), Firefox 37.0.1(windows 8.1),
不适用浏览器:IE6(windows xp),
测试代码
<script type="text/javascript"> function addFavorite(){ var bookmarkUrl = "http://baidu.com"; var bookmarkTitle = "baidu"; if (window.sidebar) { // For Mozilla Firefox Bookmark window.sidebar.addPanel(bookmarkTitle, bookmarkUrl,""); } else if( window.external || document.all) { // For IE Favorite window.external.AddFavorite( bookmarkUrl, bookmarkTitle); } else { // for other browsers which does not support alert(‘浏览器不支持,请按 Ctrl+D 手动收藏!‘); return false; } } </script><a href="#" rel="sidebar" onclick="addFavorite()">加入收藏</a>
解释说明
1. Firefox 37中废除了window.sidebar.addPanel的功能,如果要使用需要在<a>标签中添加rel="sidebar"才能使用。
2. IE11/Firefox 37中均存在window.external和document.all,因此需要将专门针对Firefox的判断if (window.sidebar)放在前面判断。
推荐代码2
待补充~~
Javascript代码获取浏览器的User-Agent信息:navigator.userAgent
navigator.userAgent"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; rv:11.0) like Gecko" IE11(windows 8.1)报文请求头: User-Agent: "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko" Firefox 37(windows 8.1)报文请求头:User-Agent: "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0" Chrome 41:"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36"
目标
找到适用于尽可能多浏览器的js代码,封装,开放,共享。
参考:
[1] http://stackoverflow.com/questions/5828965/bookmark-on-click-using-jquery
[2] IE11 用户代理字符串User-Agent(UA)更改--MSDN
时间: 2024-10-09 06:19:05