如何在MacBook、PC、IOS和Android中通过javascript代码检测访客浏览器
如果从MacBook/PC/IOS的SAFARI浏览器访问我的web应用程序的某个页面,则该页面无法工作 因此,我检测到该页面的浏览器,如果用户从SAFARI访问该页面,我会告诉他们使用其他浏览器。我使用的代码是如何在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 {
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';
}
如果你把这个放在你的代码上面,它应该可以工作。如果你有更多的问题,我很乐意回答