由于我无法控制CDN的配置不正确,我无法从服务器访问accept-encoding
标头。客户端JS是否可以确定支持哪些编码方案(gzip,br)?然后,我可以发出类似<script src="/script.js?encodings=gzip,br">
现在,我做了:
var supportsBrotli = window.Symbol && Symbol.hasInstance && Symbol.toPrimitive && window.WebAssembly;
document.getElementById('script').src = '/js/script.js' + (supportsBrotli ? '.br' : '');
那些JS方法来自caniuse,它应该适用于Chrome,FF和Safari。