|
|
1
32
|
|
|
2
9
这个答案太过时了 ,但这在石器时代非常重要。 我认为特征检测比navigator.userAgent解析更有用,因为我在谷歌上搜索了Opera的歧义 here 没有人知道IE16是否会解析/MSIE 16.0;/regexp-但我们可以很确定,会有document.all支持。在现实生活中,这些功能通常是浏览器的同义词,比如: “没有XMLHttpRequest?这是f…d IE6!” 没有非IE浏览器支持document.all,但像Maxthon这样的一些浏览器可以扰乱userAgent。(当然,出于某种原因,脚本可以在Firefox中定义document.all,但它很容易控制。)因此,我建议采用这种解决方案。 编辑 Here 我找到了完整的资源。 编辑2 我已经测试了该文档。所有这些都得到了Opera的支持!
使用很简单:
|
|
|
3
4
这并不是问题的确切答案。..但如果你试图检测特定的浏览器品牌,功能检查的重点就有点丢失了。我非常怀疑任何其他浏览器都在使用Chrome userAgent字符串,所以如果你的问题是“这个浏览器是Chrome吗”,你应该看看这个。(顺便说一句,window.ActiveObject不保证IE,其他浏览器也有插件提供此对象。这说明了我试图表达的观点。) |
|
|
4
4
对于纳粹的所有标准。..有时你可能想使用流血的“标准技术”,这些技术还不是标准的,但它们将是……比如css3功能。 这就是我找到这个页面的原因。 出于某种原因,Safari运行了边框半径和方框阴影的组合,但chrome无法正确渲染该组合。因此,即使禁用组合是webkit,找到一种检测chrome的方法也会很好。 我遇到了数百个原因来检测特定的浏览器/版本,这通常会最终放弃一个很酷的功能的想法,因为我想做的事情不受大恶的支持。.. 但有时,有些功能太酷了,以至于不能不使用它们,即使它们还没有标准化。 |
|
|
5
1
所以,如果你接受Marijn的观点 是 有兴趣通过javascript测试用户代理字符串:
(归功于: http://davidwalsh.name/detecting-google-chrome-javascript ) 下面是对chromes用户代理字符串的一个非常好的分析/分解: http://www.simonwhatley.co.uk/whats-in-google-chromes-user-agent-string |
|
|
6
1
我经常使用行为/能力检测。在解决之前,直接检查浏览器是否支持功能,而不是根据浏览器的名称(用户代理)来解决。 浏览器特定的解决方法的一个问题是,你不知道错误是否已经修复,或者现在是否支持该功能。当你进行能力检测时,你 知道 浏览器直接支持或不支持它,你不仅仅是浏览器主义者。 |
|
|
7
0
你不应该专门检测Chrome。如果有的话,你应该检测WebKit,因为就页面渲染而言,Chrome的行为应该与其他WebKit浏览器(Safari、Epiphany)完全一样。 如果您不仅需要检测WebKit,还需要准确了解正在使用的版本,请参阅此链接: http://trac.webkit.org/wiki/DetectingWebKit 但是,正如上面其他人所说,你不应该检测浏览器,你应该检测功能。有关此方面的更多信息,请参阅此ADC文章: http://developer.apple.com/internet/webcontent/objectdetection.html |
|
|
8
0
你可能需要知道浏览器是Chrome的一个原因是它“非常符合”标准。我已经遇到了旧JavaScript代码的问题,我认为这些代码符合标准(根据FF或Opera标准,这些标准都很好),但Chrome更挑剔。这迫使我重写了一些代码,但有时使用if(isChrome){blah…blah)技巧来运行它可能会更容易。Chrome似乎运行得很好(我支持标准合规性),但有时你只需要非常详细地了解用户在运行什么。 此外,Chrome的运行速度非常快。问题是,一些JavaScript代码无意中依赖于其他浏览器的缓慢工作,即:页面加载、iframe加载、样式表链接和JavaScript链接在页面头部的位置等。当函数真正可用于与页面元素交互时,这些可能会导致新的问题。所以现在,你可能真的需要知道。.. |
|
|
9
0
我使用此代码为每个浏览器制作书签(或为webkit显示消息) if (window.sidebar) {
// Mozilla Firefox Bookmark
window.sidebar.addPanel(title, url,"");
} else if( window.external ) { // IE Favorite
if(window.ActiveXObject) {
//ie
window.external.AddFavorite( url, title);
} else {
//chrome
alert('Press ctrl+D to bookmark (Command+D for macs) after you click Ok');
}
} else if(window.opera && window.print) {
// Opera
return true; }
else { //safri
alert('Press ctrl+D to bookmark (Command+D for macs) after you click Ok'); }
|
|
|
10
0
可能会有误报,因为歌剧也有
这种解决方案几乎总是有效的。
然而,我发现的一件事是,
|
|
|
11
-1
是的:!!(!window.addEventListener和window.ActiveXObject), isIE6:文档类型.createElement('DIV').style.maxHeight==“undefined”, 是IE7:!!(!window.addEventListener&window.XMLHttpRequest&&&;document.querySelectorAll), 是IE8:!!(!window.addEventListener&document.query Selector All&&document.documentMode==8), isGecko:navigator.product=='Gecko', isOpera:!!窗口操作, isChrome:!!windows.chrome, isWebkit:!!(!window.operate&navigator.aintEnable&document.evaluate&&navigator.product!=“壁虎”), |
|
|
user3425506 · 没有互联网连接无法获得PWA 9 月前 |
|
|
sunics · jQuery在ul中查找li元素 1 年前 |
|
|
Curious66 · 如何在谷歌会议中捕获传入的音频流 1 年前 |