Fonts 按需加载字体

Fonts 按需加载字体,fonts,loading,google-font-api,typekit,Fonts,Loading,Google Font Api,Typekit,我的应用程序必须支持多种字体。用户可以从给定的字体列表中选择任何字体。同步或异步加载所有字体是没有意义的,因为用户可能会使用多种字体中的一种,这只会浪费带宽 我有一个带有字体名称的选择框,我想在用户从选择框中选择字体时加载字体 使用typekit,我可以在单独的工具包中划分字体,但如何在javascript事件中加载这些工具包 我可以使用typekit、google字体或任何其他服务来实现这一点吗?有趣的问题-我只是在GIT上四处看看,发现了一个WebFont loader JS,看起来它可以解

我的应用程序必须支持多种字体。用户可以从给定的字体列表中选择任何字体。同步或异步加载所有字体是没有意义的,因为用户可能会使用多种字体中的一种,这只会浪费带宽

我有一个带有字体名称的选择框,我想在用户从选择框中选择字体时加载字体

使用typekit,我可以在单独的工具包中划分字体,但如何在javascript事件中加载这些工具包


我可以使用typekit、google字体或任何其他服务来实现这一点吗?

有趣的问题-我只是在GIT上四处看看,发现了一个WebFont loader JS,看起来它可以解决您的问题。它有很好的文档记录,可以提供一个很好的解决方案。请看这里:

这很简单。您只需要用JavaScript注入相应的CSS规则。如果在外部CSS文件中有字体面定义,只需将标记动态添加到HTML头部即可。这当然可以是一个CSS文件直接从谷歌字体或TypeKit

var link = document.createElement("link")
link.setAttribute("rel", "stylesheet")
link.setAttribute("type", "text/css")
link.setAttribute("href", "http://fonts.googleapis.com/css?family=Indie+Flower")
document.getElementsByTagName("head")[0].appendChild(link)

谢谢@udondan,虽然我没有使用过你的解决方案,甚至没有尝试过,但我想我将来会使用它,它会起作用的。