2

是否可以使用 javascript 检测浏览器是否支持 HTTP 客户端提示?现在只有 chrome 似乎支持它:http ://caniuse.com/#feat=client-hints-dpr-width-viewport

所以我正在考虑使用一些可以进行浏览器和版本检测的 javascript 库,如果浏览器是 chrome 和版本 49 或更高版本,我可以假设该功能得到支持。

我只是认为这个解决方案不是非常有效或智能,因为 HTTP 客户端提示的功能很可能在未来被添加到更多浏览器中,然后我必须不断更新我的功能以反映这一点。

是否有一些简单的方法来测试给定的浏览器是否支持带有客户端 javascript 的 HTTP 客户端提示?

谢谢!

4

1 回答 1

0

可悲的是,检测浏览器是否支持此功能的唯一方法似乎是检查浏览器的品牌和型号......像这样......

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-10-17T19:58:04.493 回答