Google chrome 与铬相比,我如何专门检测铬?
有没有一种方法可以检测我的网站的访问者是否在运行而不是在运行?即使是基本的UA嗅探(我知道这是一种不好的做法)也足以满足我的特殊情况,但铬和铬——这是正确的吗?有没有其他方法可以区分这两者?Chrome附带内置PDF阅读器,Chrome没有。Google chrome 与铬相比,我如何专门检测铬?,google-chrome,user-agent,detection,chromium,Google Chrome,User Agent,Detection,Chromium,有没有一种方法可以检测我的网站的访问者是否在运行而不是在运行?即使是基本的UA嗅探(我知道这是一种不好的做法)也足以满足我的特殊情况,但铬和铬——这是正确的吗?有没有其他方法可以区分这两者?Chrome附带内置PDF阅读器,Chrome没有。 您可以使用JavaScript检测到这一点: 函数isChrome(){//实际上,是用chromePDReader实现的 对于(var i=0;i,这里是Paul W.的答案的一个变体,适用于Chromium版本42和更高版本: function isC
您可以使用JavaScript检测到这一点:
函数isChrome(){//实际上,是用chromePDReader实现的
对于(var i=0;i,这里是Paul W.的答案的一个变体,适用于Chromium版本42和更高版本:
function isChromium() { // Actually, isWithChromiumPDFReader
for (var i=0; i<navigator.plugins.length; i++)
if (navigator.plugins[i].name == 'Chromium PDF Viewer') return true;
return false;
}
函数isChromium(){//实际上,是用chromiumpdfreader实现的
对于(var i=0;i新的Chromium版本也有PDF插件。
但是他们也有铬插件,所以如果任何插件以“铬”开头,那么它就是铬:
function isChromium()
{
for (var i = 0, u="Chromium", l =u.length; i < navigator.plugins.length; i++)
{
if (navigator.plugins[i].name != null && navigator.plugins[i].name.substr(0, l) === u)
return true;
}
return false;
}
function isChromium()
{
对于(var i=0,u=“Chromium”,l=u.length;i
此外,还可以使用它来标识Microsoft Chredge(又名Anaheim)
函数isEdg()
{
对于(var i=0,u=“Microsoft Edg”,l=u.length;i
这里是另一种方法,使用语音合成功能
谷歌Chrome浏览器提供TTS语音,而Chrome浏览器(包括Brave)不提供。语音可以通过espeak
(在linux上)手动安装,但是谷歌语音都是从Google
开始的,手动安装的语音不提供。据我所知,Chrome语音是适当的,而不是免费的
语音集合是一个数组,其中每个语音看起来如下所示:
{
voiceURI:“谷歌德国”,
名称:“谷歌德国”,
朗:“德德”,
localService:false,
默认值:true
}
我们只需要找到一个名字/URI以Google开头的人…
函数hasGoogleVoices(){
返回window.speechSynthesis.getVoices()
.一些(v=>/^google/i.test(v.name));
}
(在Linux上针对Chrome、Brave、Chrome和Firefox进行测试)
请有人检查一下Safari和Windows.Thx。谢谢!我想你可能是指导航器.插件[I].name
?(移动s
:p)这不值钱。这只适用于桌面版的Chrome。可悲的是,我的Chrome 39 for Mac返回“真的”!这太棒了。工作起来很有魅力
function isEdg()
{
for (var i = 0, u="Microsoft Edg", l =u.length; i < navigator.plugins.length; i++)
{
if (navigator.plugins[i].name != null && navigator.plugins[i].name.substr(0, l) === u)
return true;
}
return false;
}