基于JavaScript實現(xiàn)瀏覽器添加收藏功能
js實現(xiàn)瀏覽器添加收藏功能
今天搞項目的時候為了實現(xiàn)瀏覽者實現(xiàn)添加收藏的功能,特地了解了一下相關的API.
也看到了網(wǎng)上各種版本的代碼。整理了一下,代碼如下。簡單易懂。
<script> function _addFavorite() { 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) {//IE類瀏覽器 try{ window.external.addFavorite(url, title); }catch(e){ alert('您的瀏覽器不支持,請按 Ctrl+D 手動收藏!'); } } else if (window.sidebar) {//firfox等瀏覽器; window.sidebar.addPanel(title, url, ""); } else { alert('您的瀏覽器不支持,請按 Ctrl+D 手動收藏!'); } } </script> <a href="javascript:void(0)" rel="external nofollow" onclick="_addFavorite()">加入收藏</a>
擴展:javascript實現(xiàn)網(wǎng)站加入收藏功能
本文為大家分享了三段javascript實現(xiàn)網(wǎng)站加入收藏功能的代碼,具體內(nèi)容如下
第一種情況:可兼容所有瀏覽器的加入收藏代碼,原理:
根據(jù)獲取用戶navigator.userAgent.toLowerCase()信息來判斷瀏覽器,根據(jù)瀏覽器是否支持加入收藏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>
第二種情況:js代碼實現(xiàn)設為首頁并加入收藏
// JavaScript Document // 加入收藏 <a onclick="AddFavorite(window.location,document.title)">加入收藏</a> function AddFavorite(sURL, sTitle) { try { window.external.addFavorite(sURL, sTitle); } catch (e) { try { window.sidebar.addPanel(sTitle, sURL, ""); } catch (e) { alert("加入收藏失敗,請使用Ctrl+D進行添加"); } } } //設為首頁 <a onclick="SetHome(this,window.location)">設為首頁</a> function SetHome(obj,vrl){ try{ obj.style.behavior='url(#default#homepage)';obj.setHomePage(vrl); } catch(e){ if(window.netscape) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { alert("此操作被瀏覽器拒絕!\n請在瀏覽器地址欄輸入“about:config”并回車\n然后將 [signed.applets.codebase_principal_support]的值設置為'true',雙擊即可。"); } var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); prefs.setCharPref('browser.startup.homepage',vrl); } } }
使用
- <a href="#" onclick="SetHome(this,window.location)" >設為首頁</a>
- <a href="#" onclick="AddFavorite(window.location,document.title)" >收藏本站</a>
第三種情況:js添加收藏代碼
很多網(wǎng)站為了聚集用戶和維持流量都有"設為首頁","添加收藏"等按鈕,js添加收藏代碼如下:
<script> function addfavorite() { if (document.all) { window.external.addFavorite('//www.dbjr.com.cn','我們'); } else if (window.sidebar) { window.sidebar.addPanel('我們', '//www.dbjr.com.cn', ""); } } </script> <body> <a href="#" rel="external nofollow" onclick="addfavorite()">加入收藏!</a>
結果測試:該代碼對IE6+,和FireFox均有效,Chrome無效!
到此這篇關于js實現(xiàn)瀏覽器添加收藏功能的文章就介紹到這了,更多相關js瀏覽器加入收藏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
重寫javascript中window.confirm的行為
javascript中window.confirm這個方法很好用,可以彈出一個確認對話框.但有一個問題是,它默認的情況下,將選中那個"確定"按鈕,當用戶有意無意的在鍵盤回車,就是說按下Enter鍵的時候,就會自動返回true。在很多時候其實我們不希望這樣2012-10-10JS判斷當前是否平板安卓并是否支持cordova方法的示例代碼
這篇文章主要介紹了JS判斷當前是否平板安卓并是否支持cordova方法,pc和安卓平板共用一套代碼,平板的代碼用了cordova做了一個殼子嵌套如果用了cordova就不支持elementUI中的上傳功能,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-08-08JavaScript Cookie的讀取和寫入函數(shù)
Cookie的讀取和寫入實現(xiàn)函數(shù)。2009-12-12