如何通过MacBook,PC,IOS和andrroid中的JavaScript代码检测访问者浏览器

how to detect visitors browser by javascript code in MacBook, PC, IOS and andrroid

本文关键字:代码 JavaScript 检测 中的 访问者 浏览器 MacBook 何通过 PC IOS andrroid      更新时间:2023-09-26

我的Web应用程序的一个页面如果从MacBook/PC/IOS从SAFARI浏览器访问,则无法正常工作

所以我正在检测该页面的浏览器,如果用户从 SAFARI 访问该页面,我会告诉他们使用其他浏览器。我使用的代码是

if (isSafari) {
 document.getElementById("safari").style.display = 'block';
 document.getElementById("other").style.display = 'none';
} 
else {
  document.getElementById("safari").style.display = 'none';
  document.getElementById("other").style.display = 'block';
}

但它仅在从PC/或Mac使用时检测浏览器。但是,如果用户使用移动/iPhone/Ipad或选项卡,则此代码不会浏览器。

如何检测访问者浏览器,无论他/她使用哪种设备。

感谢您的帮助

// At least Safari 3+: "[object HTMLElementConstructor]"
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
var iOS = !!ua.match(/iPad/i) || !!ua.match(/iPhone/i);
var webkit = !!ua.match(/WebKit/i);
var iOSSafari = iOS && webkit && !ua.match(/CriOS/i);

所以这是最终输出。

// At least Safari 3+: "[object HTMLElementConstructor]"
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
// for mobile 
var iOS = !!ua.match(/iPad/i) || !!ua.match(/iPhone/i);
var webkit = !!ua.match(/WebKit/i);
var iOSSafari = iOS && webkit && !ua.match(/CriOS/i);
if (isSafari || iOSSafari) {
 document.getElementById("safari").style.display = 'block';
 document.getElementById("other").style.display = 'none';
} 
else {
  document.getElementById("safari").style.display = 'none';
  document.getElementById("other").style.display = 'block';
}

如果你把它放在你的代码上面,它应该可以工作。如果您还有其他问题,我很乐意回答。

也许你可以检查用户的代理

console.log(navigator.userAgent);

输出:

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0