Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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
Javascript Can';无法检测到确切的浏览器_Javascript_Html - Fatal编程技术网

Javascript Can';无法检测到确切的浏览器

Javascript Can';无法检测到确切的浏览器,javascript,html,Javascript,Html,我一直在尝试检测用户的浏览器。所以我在Chrome和Edge中检查了我的代码。这两种情况都不起作用 window.addEventListener(“加载”,函数(){ 让userAgentString=navigator.userAgent; log(userAgentString); 让isChrome=userAgentString.indexOf(“Chrome”)>-1; if(变色){ $('#chromeUser').css('display','block'); } });Mi

我一直在尝试检测用户的浏览器。所以我在Chrome和Edge中检查了我的代码。这两种情况都不起作用

window.addEventListener(“加载”,函数(){
让userAgentString=navigator.userAgent;
log(userAgentString);
让isChrome=userAgentString.indexOf(“Chrome”)>-1;
if(变色){
$('#chromeUser').css('display','block');
}

});Microsoft Edge现在是Chrome的一个版本,其用户代理是“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/81.0.4044.113 Safari/537.36 Edg/81.0.416.62”,因此您的代码将其标识为Chrome。其他浏览器是否存在任何特定问题?如果是这样,您应该尝试检测这些问题或功能,而不是检测浏览器,这是一种不好的做法。

尝试在其他浏览器上进行测试。 边缘基于铬(铬)

用户代理看起来像:
用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/79.0.3945.74 Safari/537.36 Edg/79.0.309.43


在此处阅读更多信息:

您的代码似乎是正确的,它是如何工作的?@perhapsyousethisname。这就是我不明白的。你到底想通过浏览器检测来解决什么问题?如果Edge缺少Chrome的某些功能,您应该尝试确定该功能是否可用。否则,您将对每个特定的浏览器进行调整。@zero298抱歉,我真的不知道使用javascript代码的浏览器之间的这种比较。从何处开始?我们这里所说的功能检测是指,通常情况下,您希望在浏览器Y上显示元素X,因为只有该浏览器支持元素X。在这种情况下,您应该检测浏览器(无论是哪个浏览器)是否支持X,而不是它是否正是浏览器Y。(另外,明天浏览器Z也可能开始支持X…)那么你的建议是什么呢?不要使用浏览器检测。使用功能检测。有什么具体问题吗?@perhapsyousethisname。是的。我无法识别你是来自Chrome还是Edgewhat,这是不相关的。如果我在这两种浏览器中更改了我的用户代理字符串,你也无法检测到它。你会如何处理任何其他基于Chrome的浏览器ay Chrome?或Opera或Brave。我告诉你吧。谷歌Chrome将在2020年底停止支持flash文件。我想检查用户是否来自谷歌Chrome,并按照规定显示一条消息。你认为Edge也会阻止flash吗?你可能应该为所有浏览器显示这条消息,因为最终每一条好消息,维护的浏览器将很快删除Flash。Adobe在年底后将不再支持Flash,因此没有更新或任何东西,这意味着任何浏览器供应商继续支持Flash都是不负责任的,这将是一场安全噩梦。目前对Flash的支持是基于客户端对客户端的。这意味着-你可以在我默认情况下,t处于禁用状态,或者您可能有一个浏览器,其中用户专门根据浏览器的设置启用了flash。您可以运行一些脚本来检查flash是否已启用。