我想确定是否使用环境支持http2来使用combo
。但是,我找不到在浏览器中检查浏览器是否支持http2的方法。
提前谢谢。
答案 0 :(得分:3)
Navigation Timing 2 API提供了以下信息:
performance.getEntriesByType('navigation')[0].nextHopProtocol
以上内容应在使用HTTP 2获取的页面上返回“ h2”
有关nextHopProtocol的有限兼容性的说明:
Navigation Timing Level 2 API当前处于草稿状态,因此对nextHopProtocol(将与Level 2 API一起引入)的支持将受到限制(不确定确切的浏览器支持它,因为caniuse当前不包括Navigation Timing Level 2 API)。
答案 1 :(得分:0)
根据HTTP/2 Frequently Asked Questions HTTP/2
和caniuse支持IE11,Edge14 +,Firefox 52 +,Chrome 49 +,Safari 10.1 +,Opera 45 +,iOS Safari 9.3 +,Android浏览器56和Chrome for Android 59。
Can I use HTTP/2 now?
在浏览器中,最新版本的Edge支持HTTP / 2, Safari,Firefox和Chrome。其他基于Blink的浏览器也会 支持HTTP / 2(例如,Opera和Yandex浏览器)。查看caniuse 了解更多详情。
答案 2 :(得分:0)
最简单的解决方案是找到用户浏览器版本和用户代理。 示例javascript代码以查找用户代理:
function myFunction() {
var x = "User-agent header sent: " + navigator.userAgent;
document.getElementById("demo").innerHTML = x;
}
我们可以使用浏览器名称和版本制作地图,在拆分用户代理后,我们可以知道浏览器版本是否支持。
使用像Java这样的服务器端语言,很容易获得可以告诉HTTP版本的Request代理,但是使用没有Ajax的Javascript,需要编写更多的代码。
要查找多个浏览器以及HTTP2遵循哪个版本的浏览器,请参阅:
https://www.smashingmagazine.com/wp-content/uploads/2016/01/01-caniuse-spdy-opt.png
答案 3 :(得分:-2)
我找不到另一种方式
我认为只有通过查看以下项目才能检查浏览器和操作系统
https://en.wikipedia.org/wiki/HTTP/2
http://caniuse.com/#search=http2