如何识别检测rel =“prefetch”

问题描述 投票:1回答:1

根据caniuse.com资源prefteching <link rel="prefetch" href="some-resource" />仅适用于某些浏览器。

如何在JavaScript中检测此功能?在下面的示例中,如何获得isPrefecthSupported的值

if(isPrefecthSupported) {
    let link = document.createElement('link');
    link.setAttribute('rel', 'prefetch');
    link.setAttribute('href', url);
    link.setAttribute('disabled', true);
    document.querySelector('head').appendChild(link);
} else {
   //try something else...
}
javascript html5
1个回答
0
投票

我终于设法检测它了。有边缘情况(当不支持DomTokenList.supports时)但你可以这样做:

var support = function support(feature){
    var tokenList;
    var fakeLink = document.createElement('link');
    try {
        if(fakeLink.relList && _.isFunction(fakeLink.relList.supports)){
            return  fakeLink.relList.supports(feature);
        }
    } catch(err){
        return false;
    }
};
var isPrefetchSupported = support('prefetch');
var isPreloadSupported = support('preload'); 
© www.soinside.com 2019 - 2024. All rights reserved.