Internet Explorer:忽略未知的ES6语法
为了修复一个只在火狐中出现的bug,我需要使用FontFace
的loaded
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