Internet Explorer:忽略未知的ES6语法

为了修复一个只在火狐中出现的bug,我需要使用FontFaceloaded Promise。我目前使用以下代码来实现:

?

if (document.fonts) {
    for (var fontFace of document.fonts.values()) {
        if (fontFace['family'] == fontFamily) {
            fontFace.loaded.then(doStuff);
        }
    }
} else {
    doStuff();
}

?

这是有效的,并且只针对支持字体加载API的浏览器。但是由于for .. of,Internet Explorer会记录一个错误并停止JS执行。将代码放在try .. catch块中不起作用,通过window.onerror忽略错误可能会起作用,但非常麻烦。

有没有一种方法可以迭代IE也支持的document.fonts.values,或者您是否知道在支持它的浏览器中使用loaded Promise的更好方法?

转载请注明出处:http://www.intsu.net/article/20230510/1442193.html