我希望能够根据环境是否支持HTTP2来确定是否使用combo
。但是,在浏览器中,我找不到检查浏览器是否支持HTTP2的方法。
提前感谢您。
我希望能够根据环境是否支持HTTP2来确定是否使用combo
。但是,在浏览器中,我找不到检查浏览器是否支持HTTP2的方法。
提前感谢您。
导航定时2 API 提供以下信息:
performance.getEntriesByType('navigation')[0].nextHopProtocol
根据HTTP/2常见问题,HTTP/2
和caniuse在IE11、Edge14+、Firefox 52+、Chrome 49+、Safari 10.1+、Opera 45+、iOS Safari 9.3+、Android Browser 56和Chrome for Android 59上受支持。
我现在能使用HTTP/2吗?
在浏览器中,最新版本的Edge、Safari、Firefox和Chrome支持HTTP/2。其他基于Blink的浏览器也将支持HTTP/2(例如Opera和Yandex Browser)。有关更多详细信息,请参见caniuse。
最简单的解决方案可能是查找用户浏览器版本和用户代理。 查找用户代理的示例JavaScript代码:
function myFunction() {
var x = "User-agent header sent: " + navigator.userAgent;
document.getElementById("demo").innerHTML = x;
}
我们可以使用浏览器名称和版本创建一个地图,在分割用户代理后,我们可以知道浏览器版本是否支持。https://www.smashingmagazine.com/wp-content/uploads/2016/01/01-caniuse-spdy-opt.png
我找不到其他方法。
我认为只有通过查看以下内容来检查浏览器和操作系统的方式:
https://zh.wikipedia.org/wiki/HTTP/2
http://caniuse.com/#search=http2
chrome.loadTimes().connectionInfo
。此外,如果没有重复,也与此相关,但不能标记为重复,因为没有答案:https://stackoverflow.com/questions/44842659/detect-browser-if-capable-enabled-for-http2-via-javascript-or-php - Kaiido<script src="??/a.js,/b.js"></script>
,否则应该以这种格式完成:<script src="/a.js" async defer></script><script src="/b.js" async defer></script>
。 - acrazing<script>const script = document.createElement('script'); script.src = '/a.js'; document.head.appendChild(script);</script>
。 - acrazing'/a.js'
时,实际上提供'/b.js'
的内容。 - Kaiido