0

同様の問題が発生しましたが、理由はわかりません。

fonts.com から webfontloader を使用してフォントを読み込もうとしているので、読み込んだ後に関数を呼び出すことができます。

<script src="https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"></script>
<script>
   WebFont.load({
      monotype: {
        projectId: 'xxxxxxxxxxxxxxxxxxxx'
      },
      active: function() {
         mainNav();
      }
   });

しかし、いつでもjsapiでそれを含めます

<script src="https://www.google.com/jsapi"></script>

コンソールに次の問題が表示されます: Uncaught TypeError: Cannot call method 'hasAttribute' of null

でも、別々にロードすれば大丈夫です...

何か案は?

4

1 に答える 1

2

次の URL を使用して Webfonts API をロードしてみてください。

<script src="//ajax.googleapis.com/ajax/libs/webfont/1.1.2/webfont.js"></script>

詳細については、次の投稿を確認してください: https://groups.google.com/forum/#!msg/google-ajax-search-api/dWVzQF_YWCM/Y3-R738wh78J

新しいバージョンのライブラリの部分的なバージョン エイリアスはサポートされなくなりました。すでに存在する部分的なバージョン エイリアスは、引き続きサポートされ、更新されます。その理由は、 https: //ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js のような URL これは、「jquery 1.xx の最新バージョンを教えてください」と言っています) 最新バージョンはいつでも変更される可能性があるため、キャッシュの有効期間が非常に短くなります。これはパフォーマンスに悪影響を及ぼします。ライブラリがバージョン間で API の重大な変更を行い、ページのレンダリングが突然異なること. ライブラリは通常、意図的にそのような変更を行うことはありませんが、ページは、意図的または不注意で変更される可能性のある API の特定されていないコーナーケースの動作に依存することがあります.ライブラリが更新されます。

そのため、Google AJAX API でホストされているライブラリを参照するときは、完全なバージョン文字列を指定することを強くお勧めします。最新バージョンは、 https://developers.google.com/speed/libraries/devguideでいつでも見つけることができます。この場合、最新の 1.9.x バージョンは現在 1.9.1 であるため、URL https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js を使用することをお勧めします安定したバージョンとより良いキャッシングを入手してください。

(また、上記の例には終了</script>タグがありません。これが独自のコードに存在しないことを確認したいだけです)。

于 2013-01-25T22:05:23.827 に答える