我一直在面对这个奇怪的问题SAFARI浏览器的iPad和Mac机与我的应用程序(部署在IIS上)。虽然,每当我尝试编辑Developer Tools
的Resources
选项卡中的CSS时,字体突然加载并停留。即使CSS中的单个空间编辑也会加载字体。一切工作正常Safari的Windows。iPad/Mac Safari不会加载字体
除此之外,如果我继续在我的Safari应用程序的页面上工作,字体将在随机时间(时间从10秒到10分钟或更长时间)后加载到页面上,然后待在那里直到缓存为止擦掉。
我已经试过几件事情来解决这个问题:
- 从
@font-face
声明中删除引号,因为我读过的地方,Safari浏览器将不会加载引号的字体。没有成功,尽管firefox停止渲染字体,因为引号是必要的。 - 检查了
MIME-Type
在IIS上的.svg
文件类型。没有成功。 - 验证ID为
.svg
来自字体文件的声明。没有成功。 - 提取
@font-face
将所有字体声明为独立文件,并将其作为<head>
标记中最上面的CSS声明。 - 在浏览器被检测为SAFARI后尝试移除并推入
CSS
标签。这件事情有效,但是是一个讨厌的黑客。该代码下面引用
CODE:
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
if (isSafari) {
if ($('#fontCss').length) {
$('#fontCss').remove();
$('head').append("<link rel='stylesheet' href='assets/css/fontAwesome/font-awesome.css'>");
alert('This is Safari');
}
}
你们可以请建议东西我可以尝试解决这个问题。我试过用相同的字体制作测试页面和小提琴,并在相同的设备上测试它们,一切都在演示页面上正常工作,但与我的应用程序无关。