2

Modernizr(YepNope)を使用して動的に生成されたGoogle Fontスタイルシートを読み込もうとしていますが、常に次のエラーが発生します。

Uncaught SyntaxError:予期しないトークンILLEGAL(css:1)

私のスタイルシートは次のようになります。

http://fonts.googleapis.com/css?family=Holtwood+One+SC

そして私はそれを経由して呼んでいます

Modernizr.load({
    load: ['css!http://fonts.googleapis.com/cssfamily=Holtwood+One+SC|Terminal+Dosis:700'],
    callback: 
        function (url, result, key) {
            console.log('loaded...!');          
        }       
});

ウェブサイトはこれを言っていますが、何らかの理由でそれはうまくいきません。リソースはスクリプトファイルとして解析され、それがエラーの原因だと思いますが、動作させることができないようです=(

「css!プレフィックスを使用すると、任意のファイル名の前に付けることができ、yepnopeはそれをcssファイルのように扱います。」

誰かが似たようなことを達成することに成功しましたか?ありがとう!

4

2 に答える 2

6

yepnopeのコピーにcssプレフィックスファイルを追加していることを確認してください。jQueryプラグインのように機能します。

あなたはそれを得ることができます:

https://github.com/SlexAxton/yepnope.js/blob/master/prefixes/yepnope.css-prefix.js

于 2011-10-07T04:47:41.547 に答える
0

または、次のようなGoogleWebfontAPIを呼び出すことができます。

Modernizr.load({
 load: 'http://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js',
 complete: function () {

  WebFont.load({
   google: {
    families: ['Open+Sans:300,400,700']
   }
  });
 }
});

理想的には、no-jsフォールバックを使用して、次のような時限関数などを使用してサーバーからフォントをロードする必要があります。

if (!window.jQuery) {
 Modernizr.load('http://d.clickmetrics.cl/assets/js/scaffolding/jquery-1.9.0.min.js');
}
于 2013-06-06T20:13:03.660 に答える