Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MacBook、PC、IOS和Android中通过javascript代码检测访客浏览器_Javascript_Android_Ios_Browser - Fatal编程技术网

如何在MacBook、PC、IOS和Android中通过javascript代码检测访客浏览器

如何在MacBook、PC、IOS和Android中通过javascript代码检测访客浏览器,javascript,android,ios,browser,Javascript,Android,Ios,Browser,如果从MacBook/PC/IOS的SAFARI浏览器访问我的web应用程序的某个页面,则该页面无法工作 因此,我检测到该页面的浏览器,如果用户从SAFARI访问该页面,我会告诉他们使用其他浏览器。我使用的代码是 if (isSafari) { document.getElementById("safari").style.display = 'block'; document.getElementById("other").style.display = 'none'; } else {

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

因此,我检测到该页面的浏览器,如果用户从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或tab,则此代码不会在浏览器中显示

无论访问者使用哪种设备,我都如何检测其浏览器


感谢您的帮助

也许您可以查看用户的代理

console.log(navigator.userAgent);
输出:

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

可能您可以检查用户的代理

console.log(navigator.userAgent);
输出:

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0
这就是最终的输出

// 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';
}
如果你把这个放在你的代码上面,它应该可以工作。如果你有更多的问题,我很乐意回答

这就是最终的输出

// 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';
}
如果你把这个放在你的代码上面,它应该可以工作。如果你有更多的问题,我很乐意回答