它通常适用于所有浏览器,您只需要正确使用字体。只需使用这样的生成器:http ://www.fontsquirrel.com/tools/webfont-generator
它创建一个包含 4 个字体文件(eot、svg、ttf、woff)的 zip 文件,并且有一个包含必要代码的 css 文件:
@font-face {
font-family: 'myfont';
src: url('myfont.eot');
src: url('myfont.eot?#iefix') format('embedded-opentype'),
url('myfont.woff') format('woff'),
url('myfont.ttf') format('truetype'),
url('myfont.svg#myfont') format('svg');
font-weight: normal;
font-style: normal;
}
我正在使用 KineticJS,当我在页面加载后创建舞台时,它使用正确的字体:
window.onload = function () {
var stage = new Kinetic.Stage({
container: 'container',
width: 800,
height: 600
});
//code for creating a layer, text and whatnot with kinetic
}
当然,如果您不使用 Kinetic,也应该没问题。
如果它在某些浏览器中不起作用,则字体可能无法正确加载。恕我直言,使用超时将是一个不好的解决方法,您可以尝试在开始的正文标记之后添加一个隐藏的 div:
<div class="font-hack" style="font-family:'your-font';">nothing to see here, move along</div>
你在那里写什么并不重要(但它不能为空)。
我不再使用 Kinetic,但这对 Phaser Engine 非常有用。