🌟

Nuxt.jsでAdobeFontsの使用方法

2022/06/03に公開

Nuxt.jsでAdobeFontsを使用する場合の記述をまとめました。
やり方はいくつかあるかと思いますが一番簡単にできる方法かと思います。

AdobeFontsで使用したいフォントの下記のようなコードを事前に取得しておきます。
KITID部分には各自フォントのkitIdを入力してください。

<script>
  (function(d) {
    var config = {
      kitId: 'KITID',
      scriptTimeout: 3000,
      async: true
    },
    h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='https://use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)
  })(document);
</script>


headにscript記述

使用したいページまたは、全体で使用したい場合はnuxt.config.jsのheadに書いていきます。
innerHTML内の文字がエスケープされるのを防ぐため、
__dangerouslyDisableSanitizers: ['script']を使用します。

.
.
<script>
export default {
  head() {
    return {
      script: [
        {
          innerHTML: `(function(d) {var config = {kitId: 'KITID',scriptTimeout: 3000,async: true},h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='https://use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)})(document)`,
        },
      ],
      __dangerouslyDisableSanitizers: ['script'],
    };
  },
};
</script>
.
.



ディベロッパーツールでページのheadタグ内に記述したscriptが読み込まれているかを確認します。

scriptタグheadタグ内のscriptタグ


確認できたら使用したいフォントのcssを適宜当ててあげましょう。

以上

Discussion