问题标签 [browser-detection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
36188 浏览

javascript - 如何在浏览器中检测对 VML 或 SVG 的支持

我正在编写一些 javascript,需要在 SVG 或 VML 之间进行选择(或两者兼而有之,或其他东西,这是一个奇怪的世界)。虽然我知道目前只有 IE 支持 VML,但我更愿意检测功能而不是平台。

SVG 似乎有一些您可以使用的属性:例如 window.SVGAngle。

这是检查 SVG 支持的最佳方式吗?

VML有什么等价物吗?

不幸的是 - 在 Firefox 中,我可以很高兴地在 VML 中进行所有渲染而不会出错 - 屏幕上什么也没有发生。从脚本中很难检测到这种情况。

0 投票
6 回答
21619 浏览

antialiasing - HTML页面中的抗锯齿字体

有没有一种在网页中创建清晰、清晰、大字体的好方法?我需要在我的主页上使用不同的字体大小和颜色创建标签云效果。

我已经在 HTML/CSS 中设置了它,但是在默认不支持抗锯齿的旧浏览器或操作系统上,它看起来有点……糟糕。

我玩过sIFR,效果很好,但给了我一些可怕的负载效果,但我现在想知道是否有办法:

a) 进行浏览器/操作系统检测,通过我知道支持抗锯齿的浏览器/操作系统组合(他们得到原始 HTML)和获得图像标签的“其他人”来分割用户。

b) 某种 JavaScript 来添加抗锯齿?

c) 在 div 中加载 BG 图像并隐藏 HTML 文本的永久解决方案。(我知道,我知道,谷歌关于去索引的恐怖故事......但这可能吗?)

0 投票
1 回答
1082 浏览

version - 如何检查访问者是否使用最新版本的浏览器?

是否有一种简单而自动的方法来检查我的网站(用 asp.net 编写)的访问者是否使用他的最新版本的浏览器?这将允许我显示一条消息,通知他们他们正在运行旧版本并且他们可能想要升级。

我的网站在大多数浏览器上都经过测试,但我不测试旧版本(例如 Internet Explorer 6 等)。当我的一位访问者使用这样的旧版本时,基本上,我想鼓励(而不是强迫)他们升级。

当然,我可以通过获取浏览器的版本并在我的数据库中查找它自己来做到这一点,但我不想自己维护一个“浏览器版本”数据库。有任何想法吗?

0 投票
9 回答
38330 浏览

javascript - 如何显示浏览器特定的 HTML?

我正在尝试找到一种方法来显示一个指向 IE 用户的链接和另一个使用 javascript 或条件注释(或其他任何方法)的所有其他浏览器的链接。

基本上...

我认为条件注释标签(仅适用于 Internet Explorer)不可能做到这一点。另外,我认为没有“其他”声明。

有没有办法用javascript做到这一点?请帮忙!谢谢!

0 投票
9 回答
56363 浏览

javascript - 移动检测

有没有办法使用 Javascript 检测移动设备?此外,我研究了有这样一个 XML 包含可以帮助识别手机的用户代理。

0 投票
5 回答
10559 浏览

javascript - 使用 jQuery 1.3+ 检测 IE8、IE7、Safari、FireFox?

我需要根据每个浏览器更改一个值,因为它们的呈现方式都不同。

这很有效,但不幸的是 Firefox 和 Safari 都显示为“Netscape”

我将如何使用 jQuery 1.3.2 来检测所有这些?jquery.support现在我找不到任何信息jquery.browser了。

谢谢!

0 投票
3 回答
4802 浏览

javascript - JavaScript 检测/浏览器统计

这已被问过几次,但我认为仍然值得与你们一起检查以获取更多信息。

我所有的网站都使用 Google Analytics 进行统计。由于它依赖于 JavaScript,我认为检查有多少人在他们的浏览器中启用/禁用了 JS 对我来说很重要。

我记得我经常查看w3schools 浏览器统计数据,最近的结果显示大约 95%,这对我来说非常满意。但由于它纯粹适用于他们的网站,我想我会检查一下我的网站是什么。我尝试了几种方法,但最近我计算了我的 main.js 文件的所有页面浏览量和所有下载量(缓存被添加到文件路径的“缓存杀手”变量阻止)。这种方法几乎没有缺点,因为它不能识别谷歌的机器人(或任何其他),但它仍然足够准确。

令人惊讶的是,只有 68% 的访问我最大的网站的人启用了 JS(其他方法 - 例如使用 cookie - 我尝试显示类似的数字)。我很乐意被告知我的方法完全错误,这就是为什么这个数字如此之低。

由于我构建的网站不依赖 JS 来工作,从功能的角度来看这仍然可以,但这也意味着我网站的 32% 的条目正在被 Analytics 计算!这是一个巨大的缺点。

是否有任何其他网站(除了 w3schools)分享他们的统计数据?或者我可以比较我的数字的调查?也许你们中的一些人可以分享你的?

现在我正在考虑创建自己的统计引擎。但是,您还有其他(除了 Analytics)可靠(免费)的统计解决方案吗?一个实际上会检查人们是否启用了 JS 的工具?

任何关于 JS 检测的建议也非常受欢迎。

0 投票
8 回答
7031 浏览

localization - 网站语言:使用浏览器区域设置或 IP 地址

对于一个网站,我们即将实现自动国家/语言选择,但仍然让用户可以选择更改它。

首先,如果用户使用具有国家级 TLD 的域进入网站,默认情况下会显示正确的语言。但问题是,如果它们来自通用/国际顶级域名(例如 .com),逻辑应该是什么。我们应该更喜欢使用我们通过他们的 IP 地址获得的国家,还是应该使用他们的浏览器区域设置?如果两者都有,按什么顺序?

因此,我在考虑这种层次结构:

  1. 如果之前更改过,请使用用户选择。如果用户从未明确设置过:
  2. 使用主机名 TLD。如果它是通用的(.com):
  3. 使用浏览器语言环境。如果此语言环境没有设置语言环境或没有相应的语言版本可用:
  4. 使用 IP 地址。如果检测到的国家/地区没有对应的语言版本:
  5. 使用英语。
0 投票
5 回答
18282 浏览

php - PHP get_browser:如何识别 ie7 和 ie6?

有没有办法使用 PHP 的 get_browser() 函数来区分 IE7 和 IE6?

0 投票
6 回答
2822 浏览

asp.net - 在 ASP.NET 中嗅探 XMLHttpRequest(浏览器嗅探 AJAX 请求)的可靠方法?

我想在我的应用程序中添加一个额外的障碍,以防止通过 javascript 实现自动化,特别是当自动化请求通过任何流行浏览器的 XMLHttpRequest 完成时。

是否有可以在 ASP.NET 中使用的 XMLHttpRequest 的可靠迹象?

我想另一个相关的问题是,XMLHttpRequest 很难看起来是一个普通的人为驱动的请求吗?因为如果是这样,那么我想我是在做傻事。

更新:我可能对这个问题的表述过于狭隘。目标是检测:由其他人编写的代码,不是由普通浏览器提交的,可能是机器人,可能不是来自我的 Intranet 客户等。到目前为止,我想到了 XHR 和 .NET WebRequest 请求。