我知道这是不好的做法和特征识别应该是建设网站的方式。然而,这不是我的用例。
我有我的浏览器扩展的不同发行版,我想根据他们当前的浏览器更改下载按钮。
我试过使用navigator.useragent
,事实证明这是非常没用的,因为大多数浏览器都设置了所有流行的用户代理。例如chrome就有这个。
navigator.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36"
我见过很多网站的下载按钮上都有这个功能。如何做到这一点呢?
编辑:我现在了解了为什么“mozzila/x.x”位于userAgent字符串开头的历史。抱歉误会了。
您可以通过多种方式检测浏览器。
对于Chrome,除了在navigator.useragent
上创建一个正则表达式外:
var isChrome = /Chrome/.test(navigator.userAgent);
您还可以检查以下内容:
var isChrome = !!window.chrome && !!window.chrome.webstore;
我建议你看这个答案了解更多的细节。
您还应该考虑使用modernizr.js进行浏览器检测。
一面-2023年5月6日 ios客户端,大前端、object-c 自我介绍。有点背稿的感觉。 聊一个项目。说了OSG的项目。提到内存管理。 开始八股。内存:只能指针。 多态,静态、动态。模板、虚函数。静态的除了模板还有啥。析构函数为什么要添加虚函数。 空类size的大小。 struct/class的区别。 堆/栈/BSS几个内存类别 TCP四次挥手。 ipv4地址空间这么小怎么够用,NAT。用同一
二面-2023年5月8日 第一次迟到了面试.. 自我介绍。刚开始没准备各种结巴,语言不顺。整体还是讲完了。 项目。疯狂问项目、但是又不是挖,就是让自己讲。讲了好几个项目。看起来不是特别满意。一个是我自己准备项目拿普通横向项目准备的亮点肯定不够不到位,另外岗位是客户端,没有什么相关的。 岗位匹配度上,问了好几遍和原技术栈不匹配,自己的个人想法。(一开始也是你捞的我,我有啥想法 手撕算法。快排。这两面
谢谢你的反馈。BrowserCap是一个遗留特性,我们不再继续更新它,除非我们发现ASP.NET特性因此而中断。如果您真的希望您的应用程序将Edge识别为Edge(而不是chrome),那么您可以添加自己的浏览器文件,以匹配app_browsers文件夹下的Edge的UA字符串。反馈 更新:*以下是来自三个浏览器的UA字符串,可能表明最后一条信息可能是指示器,但不是Chrome的。正如你所看到的,
出于调试的目的,我希望在控制台的客户端访问我的Angular模块函数。 是否有一种方法可以在浏览器的控制台中访问Angular$scope?
我是新加入这个董事会的,但我已经读过你很多年了。:) 我正试着学编码,但我还在第一步。然而,我将使用一个脚本来检测用户的浏览器。 这适用于所有主要的浏览器(我在chrome、firefox和IE上试用过),但它不适用Edge。我该怎么修好它?谢谢!
我对硒很陌生。我开发了一个应用程序,使用一个selenium web驱动程序来做网页上的一些动作。当我在本地运行时,它可以很好地工作,也就是说,它在我的机器中启动了一个浏览器。我在VM服务器上部署了这个应用程序,所以脚本在服务器上运行(在VM Ware机器中启动的浏览器),而不是在客户端。谁能帮助我如何在客户端启动浏览器?