LODOP的LodopFuncs.js里,默認是混合部署,由於高版本的火狐谷歌不再支持np插件,所以對於這些瀏覽器加了判斷,會走c-lodop方式(360極速,qq極速等是谷歌內核,也會走c-lodop)。
官網樣例是混合部署LodopFuncs.js里已經寫好了判斷。
客戶端是瀏覽器支持np插件,是32位瀏覽器,就會提示下載32位的Lodop插件:install_lodop32.exe
客戶端瀏覽器支持np插件,是64位瀏覽器,就會提示下載64位的Lodop插件:install_lodop64.exe
客戶端瀏覽器不支持np插件(判斷如高版本谷歌火狐等),會提示下載C-Lodop方式: CLodop_Setup_for_Win32NT.exe
在LodopFuncs.js里寫好的判斷是否需要c-lodop的方法是needCLodop(),這個方法返回true就會走c-lodop,返回false會走lodop插件方式。
使用到的navigator.userAgent,這個是JS的語句,可以百度一下該獲取到的值含義,可以獲取瀏覽器版本版本號等,網上也有在線解析該返回的字符串的方法,或者判斷瀏覽器的方法。
navigator.userAgent這個能返回操作系統,和瀏覽器版本,如果想要判斷當前瀏覽器是哪個,或操作 系統是哪個,想要附加很多判斷,可以觀察或測試多個系統返回字符串,寫判斷。
這里有瀏覽器火狐和谷歌,演示判斷火狐和谷歌。實際中需要判斷的很多,這里不加多寫,可從網上找一些判斷,找一些navigator.userAgent判斷。
通過正則截取到需要的信息進行判斷,正則可查看 本博客相關博文里的正則部分:【非lodop的】JS和html相關博文索引、
簡短問答:
1.navigator.userAgent這個獲取的字符串是什么意思
這個是JS里的方法,獲取的是當前瀏覽器內核和版本等有關信息,具體可百度一下,查看下各個值的含義。
2.火狐谷歌哪些瀏覽器版本走的是c-lodop方式
具體判斷的瀏覽器和版本號可參考LodopFuncs.js里的needCLodop()的判斷。
測試代碼:
<body> 在火狐瀏覽器中:<input type="button" value="點擊" onclick="F1()"><br> 判斷是否是火狐瀏覽器,版本41及以上還是以下<input type="button" value="點擊" onclick="F2()"><br> 判斷是火狐還是谷歌(內核)<input type="button" value="點擊" onclick="F3()"><br> <script> function F1(){ var ua=navigator.userAgent; var verFF=ua.match(/Firefox\D?\d+/i); var verFF2=verFF[0].match(/\d+/); alert("navigator.userAgent的值:"+ua +"\nmatch(/Firefox\D?\d+/i)的,獲取瀏覽器和版本:"+verFF +"\nmatch(/\d+/),瀏覽器和版本再拆分出版本:"+verFF2); }; function F2(){ var ua=navigator.userAgent; var verFF=ua.match(/Firefox\D?\d+/i); if(verFF){ console.log("當前瀏覽器是火狐"); var verFF2=verFF[0].match(/\d+/); if(verFF2>=41) console.log("當前火狐瀏覽器的版本是大於或等於41的"); else{console.log("當前火狐瀏覽器的版本是小於41的");} } else console.log("當前瀏覽器不是火狐"); }; function F3(){ var ua=navigator.userAgent; var verFF=ua.match(/Firefox\D?\d+/i); var verChrome = ua.match(/Chrome\D?\d+/i); if(verFF){ console.log("當前瀏覽器是火狐"); var verFF2=verFF[0].match(/\d+/); if(verFF2>=41) console.log("當前火狐瀏覽器的版本是大於或等於41的"); else{console.log("當前火狐瀏覽器的版本是小於41的");} } else if(verChrome) { verChrome2= verChrome[0].match(/\d+/); if(verChrome2>=41) console.log("當前瀏覽器和瀏覽器版本是"+verChrome[0]+",瀏覽器版本是"+verChrome2+",版本是大於41的"); else {console.log("版本小於41的谷歌瀏覽器");} } }; </script> </body>
圖示: