Encapsulated js menentukan sistem pengendalian dan kemahiran perkongsian kod_javascript pelayar

WBOY
Lepaskan: 2016-05-16 16:21:16
asal
1175 orang telah melayarinya

Ringkasan:
Untuk pembangunan bahagian hadapan, tugas kami yang paling penting ialah keserasian, keserasian sistem, keserasian penyemak imbas, dsb. Hari ini saya akan berkongsi kaedah yang saya rangkumkan dalam projek untuk menentukan sistem pengendalian dan pelayar.

Sistem pengendalian:

var os = (function() {
  var UserAgent = navigator.userAgent.toLowerCase();
  return {
    isIpad     : /ipad/.test(UserAgent),
    isIphone    : /iphone os/.test(UserAgent),
    isAndroid    : /android/.test(UserAgent),
    isWindowsCe   : /windows ce/.test(UserAgent),
    isWindowsMobile : /windows mobile/.test(UserAgent),
    isWin2K     : /windows nt 5.0/.test(UserAgent),
    isXP      : /windows nt 5.1/.test(UserAgent),
    isVista     : /windows nt 6.0/.test(UserAgent),
    isWin7     : /windows nt 6.1/.test(UserAgent),
    isWin8     : /windows nt 6.2/.test(UserAgent),
    isWin81     : /windows nt 6.3/.test(UserAgent)
  };
}());
Salin selepas log masuk

Jika anda ingin menentukan sama ada sistem itu ialah iPad, anda hanya perlu menentukan sama ada(os.isIpad) {}.

Pelayar:

var bw = (function() {
  var UserAgent = navigator.userAgent.toLowerCase();
  return {
    isUc   : /ucweb/.test(UserAgent), // UC浏览器
    isChrome : /chrome/.test(UserAgent.substr(-33,6)), // Chrome浏览器
    isFirefox : /firefox/.test(UserAgent), // 火狐浏览器
    isOpera  : /opera/.test(UserAgent), // Opera浏览器
    isSafire : /safari/.test(UserAgent) && !/chrome/.test(UserAgent), // safire浏览器
    is360   : /360se/.test(UserAgent), // 360浏览器
    isBaidu  : /bidubrowser/.test(UserAgent), // 百度浏览器
    isSougou : /metasr/.test(UserAgent), // 搜狗浏览器
    isIE6   : /msie 6.0/.test(UserAgent), // IE6
    isIE7   : /msie 7.0/.test(UserAgent), // IE7
    isIE8   : /msie 8.0/.test(UserAgent), // IE8
    isIE9   : /msie 9.0/.test(UserAgent), // IE9
    isIE10  : /msie 10.0/.test(UserAgent), // IE10
    isIE11  : /msie 11.0/.test(UserAgent), // IE11
    isLB   : /lbbrowser/.test(UserAgent), // 猎豹浏览器
     isWX   : /micromessenger/.test(UserAgent), // 微信内置浏览器
    isQQ   : /qqbrowser/.test(UserAgent) // QQ浏览器
  };
}());
Salin selepas log masuk

]

Ringkasan:
Penyemak imbas semuanya diuji oleh saya secara peribadi Yang mungkin menghadapi masalah ialah pelayar krom, kerana kebanyakan pelayar menggunakan kernel WebKit, jadi saya memintas pelayar krom untuk membezakannya. Jika kedudukan maklumat navigator chrome atau panjang selepas chrome berubah pada masa hadapan, masalah mungkin mudah berlaku, tetapi nampaknya ok buat masa ini.

Sekarang kerana penyemak imbas UC mudah alih sering menyekat iklan Baidu, tetapi tidak menyekat iklan Google, kami boleh menambah untuk menentukan sama ada ia adalah penyemak imbas UC Jika tidak, ia akan memaparkan iklan Baidu, jika ada, ia akan memaparkan iklan Google

if(navigator.userAgent.indexOf('UCBrowser') > -1) {
alert("uc浏览器");
}else{
//不是uc浏览器执行的操作
}
Salin selepas log masuk

Malah, beberapa operasi khas penyemak imbas tertentu boleh dilakukan melalui

JS mendapat maklumat penyemak imbas
Nama kod penyemak imbas: navigator.appCodeName
Nama penyemak imbas: navigator.appName
Nombor versi penyemak imbas: navigator.appVersion
Sokongan untuk Java: navigator.javaEnabled()
Jenis MIME (tatasusunan): navigator.mimeTypes
Platform sistem: navigator.platform
Pemalam (susunan): navigator.plugins
Ejen pengguna: navigator.userAgent

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan