问题标签 [browser-feature-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.
html - 功能检测内容处置的正确处理:附件?
存在一个已知问题,即 ios Safari 将忽略 Content-Disposition: attachment
标头。当尝试从单页应用程序触发下载时,这是一个相当大的问题(我正在使用iframe hack,但如果有人有其他建议,请接受建议)。
我总是可以直接测试 ios:
但我宁愿不浏览器嗅探。有谁知道我如何能够检测内容处置是否正确处理?
javascript - CSS3 3d 支持的功能检测(Opera 问题)
我正在尝试为不支持 CSS3 3d 转换的浏览器应用不同的样式。但是由于某种原因,当我在 Opera 中预览页面时,它会应用 3D 浏览器的样式,即使它(据我所知)不支持 CSS3 3d 转换。
我知道脚本正在运行,因为当我在条件中切换类时,它可以在 chrome、safari 和 firefox 中运行。我只是不明白为什么 Opera 似乎在说它支持 3d 变换。我需要为歌剧做些什么特别的事情吗?
javascript - 浏览器功能检测 - 是否支持 Silverlight?
我是反对设备检测的特征检测的热心倡导者。我希望能够检测浏览器(移动或其他)是否支持 Silverlight。
我有一个很好的谷歌,发现了这个Silverlight 支持的用户代理,但查看最后一条评论,它似乎不是最新的。
还有这个 SO question Is there a way to test if a browser support flash/silverlight?但它似乎没有回答这个问题。检测是否安装了 Silverlight 不同于检测对 Silverlight 的支持。
有没有人有这方面的经验,是否有可能?
html - 检测浏览器对 HTML 媒体捕获的支持
如何检测浏览器对 HTML Media Capture* 的支持?
测试是否支持属性的传统方法似乎不适用于某些设备(在 iPad 和 Google Nexus 上测试):
Modernizr 有一个测试,但它似乎并不可靠(它使用相同的原理):
https ://github.com/Modernizr/Modernizr/pull/909
__
(*) 有关 HTML 媒体捕获的更多信息:
http://www.w3.org/TR/html-media-capture/
http://www.html5rocks.com/en/tutorials/getusermedia/intro/#toc-round1
javascript - 检查是否支持 Javascript 删除功能
在 Javascript 中,您可以delete
使用对象属性:
现在o.x
应该是undefined
和wasDeleted
是true
。
但是,您只能删除本机对象,不幸的是,浏览器对此似乎有不同的想法:
现在在 Chrome 和 IE9-10x
中将是undefined
,但在 IE6-8 中这会引发异常:
“对象不支持此操作”
伟大的。请注意,这不是delete
不受支持的......
我意识到我可以添加一个try {...} catch
块,但是......
有没有办法在调用之前delete
检查浏览器是否支持特定对象?
即我可以告诉浏览器是否将属性视为主机或本机?
javascript - 有没有办法检测浏览器是否会在滚动时冻结 DOM?
有没有办法检测浏览器在滚动时是否会冻结 DOM 或禁用 JavaScript?众所周知,一些移动浏览器会这样做,它有效地消除了基于滚动的效果,如视差和动画。我想在不诉诸UA嗅探的情况下有效地实现以下伪代码:
据我所知,Modernizr 没有检查它。
javascript - 使用 javascript 检查 *full* 文件系统访问权限
我希望使用 JS 进行一些功能检测,以确定是否在可通过台式机、平板电脑和手机访问的网页上显示典型的“输入类型 =“文件”元素。
理想情况下,我只想在对文件系统具有完全访问权限的设备/浏览器上显示输入。完整,意味着访问文件(如在台式计算机上),而不仅仅是手机的相机文件。
当我在我的 Android 手机上的网页上点击文件输入时,我会看到一个我可以上传的受限列表。在这种情况下,我需要功能检测返回 false,即不存在完全访问文件系统......我怀疑这是可能的。值得一提的是,用户代理嗅探是最后的手段,也是我希望避免的。
javascript - 如何使用 globalCompositeOperation 测试画布混合模式
因此,根据这篇文章,您可以使用以下方法对画布混合模式进行功能测试:
这会在 Chrome 27 中返回误报。
javascript - 检测 iOS 是否正在使用 webapp
我想知道是否可以检测 iOS 用户是否正在使用 webapp,或者只是使用 safari 浏览器以正常方式访问。
我想要实现的原因是,在 iOS webapp 上,当用户单击链接时,他将被重定向到 Safari 浏览器。所以我使用以下解决方法让他留在 webapp 中(防止切换到 safari 浏览器)。
但我希望这种解决方法仅在用户使用 webapp 时发生,我希望它对 webapp 用户是有条件的。所以不在默认的 safari 浏览器上。
html - 寻找一个知道检测对特定音频视频格式文件支持的库
我正在构建一个移动网络应用程序,并且我正在实现视频和音频标签。显然,并非所有设备都知道可以运行所有文件格式。Modernizr 知道将编解码器返回给我,但我怎么知道我的文件是否有这个特定的编解码器?
我可以识别文件扩展名或 mim 类型,但我需要将编解码器与文件扩展名进行比较,并用这些数据维护一个数组,这似乎是一个孤注一掷的任务。
你们说什么?任何人都知道一个知道为我们提供这些信息的好图书馆吗?或者也许我的方法是错误的,并且有更好的方法来实现它。
请不要让 Firefox OS 例如向用户显示操作系统不支持特定文件格式的消息,但他在处理音频文件时不提供此消息。这意味着我需要向用户提供这种反馈,而且我也更喜欢以自定义的可视化方式对我的应用程序进行反馈。
一个例子: 我有video.mp4。Modernizr 返回 H264 的编解码器。这两条信息不相关。我无法为我的视频以所有可用的视频格式运行后备。该应用程序是云文件托管(如保管箱)的浏览器,如果用户上传了一个无法在 FirefoxOS 上运行的文件,那么他必须明白为什么它的文件无法运行,为此我需要这个库,而不是自己管理这种压缩。
一些参考资料:
谢谢你。