首页 > 解决方案 > document.fonts.ready.then 为什么考虑同步 XMLHttpRequest

问题描述

声明 font-face 时:浏览器倾向于等待具有此字体的文本以加载 .ttf 或 .otf ...

我发现了这段代码

document.fonts.ready.then(function () { });

当我尝试

function myAajax () {
    var xhr = new XMLHttpRequest(); 
    xhr.open("POST", "ajax.php", true);
    ...
    xhr.send(params);
}

document.fonts.ready.then(function () { myAajax (); });

我进入 [Deprecation] Synchronous XMLHttpRequest...chrome 控制台日志...

这最终会被封锁吗?

标签: ajaxasynchronousxmlhttprequestsynchronous

解决方案


我发现的解决方法是制作一个隐藏显示的 div

<div id="ajaxContent" style="display:none;"></div>

然后调用我的ajax,当字体准备好时,显示div ...

myAajax ();
document.fonts.ready.then(function () {$("#ajaxContent").show(); });

推荐阅读