【发布时间】:2019-06-18 14:09:30
【问题描述】:
由于桌面版 Safari 不支持<input type="date">,我想告诉使用桌面版 Safari 的客户他们应该切换到另一个浏览器。
我尝试了以下功能,但不幸的是,即使我使用 Chrome,它也会返回 Safari。
function getBrowser() {
if((navigator.userAgent.indexOf("Opera") != -1 || navigator.userAgent.indexOf('OPR')) != -1 )
{
return 'Opera';
}
else if(navigator.userAgent.indexOf("Edge") != -1 )
{
return 'Edge';
}
else if(navigator.userAgent.indexOf("Samsung") != -1) {
return 'Samsung Browser';
}
else if(navigator.userAgent.indexOf("Safari") != -1)
{
return 'Safari';
}
else if (navigator.userAgent.indexOf("Chrome") != -1) {
return 'Chrome';
}
else if(navigator.userAgent.indexOf("Firefox") != -1 )
{
return 'Firefox';
}
else if(navigator.userAgent.indexOf("MSIE") != -1 )
{
return 'IE';
}
else
{
return 'unknown';
}
}
是否有另一种方法可以检测客户端是否正在使用 Safari?如果有,是否可以检测到正在使用桌面版本的用户?因为在 iPhone 和 iPad 上,<input type="date"> 标签确实有效。
【问题讨论】:
-
如果可能的话,您应该检查支持哪些功能,而不是检查单个浏览器。似乎有一些技巧可用于检查浏览器是否为日期输入提供日期选择器:stackoverflow.com/questions/10193294/…
标签: javascript safari