Javascript测试客户端对HTTP客户端提示的支持
Javascript test client side for HTTP Client Hints support
是否可以检测浏览器是否支持使用javascript的HTTP客户端提示?目前只有chrome支持:http://caniuse.com/#feat=client-hints-dpr-width-viewport
所以我在考虑使用一些javascript库,可以做浏览器和版本检测,如果浏览器是chrome和版本49或更高,我可以假设该功能是支持的。
我只是认为这个解决方案不是很有效或智能考虑到HTTP客户端提示功能很可能在未来被添加到更多的浏览器中,然后我将不得不不断更新我的功能来反映这一点。
是否有一些简单的方法来测试如果一个给定的浏览器支持HTTP客户端提示与客户端javascript?
谢谢!
遗憾的是,检测浏览器是否支持此功能的唯一方法似乎是检查浏览器的品牌和型号…像这样…
function canDoClientHint() {
try {
var chrome = window.navigator.userAgent.match(/'sChrome'/([0-9]+)'.[.0-9]+'s/)
if ( chrome !== null ) {
var version = parseInt(chrome[1])
if ( isNaN(version) === false && version >= 46 ) {
return true
}
}
} catch(e) {
return false
}
return false
}
canDoClientHint()
显然,这种代码已经过时了,需要不断维护,直到你关心的所有浏览器都有这个功能,然后你可以删除它。不幸的是,你必须记得更新它并删除它。
这个问题是旧的(2017年),并且在客户端提示中发生了很多变化。最重要的是,人们不能再被动地坐在那里,期望在HTTP报头中接收客户端提示。现在有一个相当复杂的HTTPS舞蹈,其中web服务器需要配置为主动请求客户端提示,并祈祷客户端尊重他们的要求。我知道,因为我的公司是在基于HTTP请求分析(WURFL)的设备/浏览器数据领域运作的。
关于如何从web浏览器请求Client-Hints的具体信息可以在这里获得:https://www.scientiamobile.com/add-support-for-user-agent-client-hints-now/
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 单个 Redis 客户端连接是否支持并发读写
- 添加客户端jQuery支持
- html 到 pdf 使用 CSS 支持转换客户端 JavaScript
- 是否有一个 javascript 客户端库用于对具有存储支持的 ajax 请求进行排队
- 测试客户端是否支持css道具.重复后代码中断
- 套接字.支持1.0.x的Java客户端
- 在客户端通过使用rhino或标准内置javascript支持在java中嵌入javascript来使用Google ch
- 今天有哪些JS网站框架支持消息从服务器推送到客户端
- 支持套接字的客户端浏览器语言/插件
- Javascript测试客户端对HTTP客户端提示的支持
- 如何使用内置的Bosh支持配置Openfire以接受XMPP聊天客户端
- 在运行时打包客户端脚本,支持Common.js
- 如何在支持渐进式增强(Progressive Enhancement)的同时,使用HTML5标签来支持无脚本客户端,这些