2012-07-01 26 views
5

jQueryがCDNからロードされているかどうかを確認し、そうでなければローカルバージョンにフォールバックします。html 5 shimがロードされているか確認してください。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.1.min.js"><\/script>')</script> 

私はTwitterのブートストラップを使用しています、そして、それはgooglecodeコピーからHTML 5のシムをロードします。

<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>

それはgooglecode

からロードされないか、私は何か間違ったことをやっている場合、私は地元のバージョンにフォールバックすることができますどのような方法があります。私はこれをチェックするべきではありませんか?

答えて

11
<script>window.html5 || document.write('<script src="js/libs/your-local-version.js"><\/script>')</script> 
+0

私はローカルバージョンのみを使用しますが、あなたの返信は間違いなく疑問の答えです。できます ! – Jashwant

+2

document.writeを使用しないでください...投機的パーサはそれによって挿入されたスクリプトを読み込むことができず、コードが実行されるのを待たなければなりません。レンダリングすることができますhttp://www.stevesouders.com/blog/2012/04/10/dont-docwrite-scripts/ –

4

私はjQuery(長い議論や開かないほうがよいワームのことがあります)に悩まされることはありませんが、それはあなた次第です。

私はgooglecodeからhtml5.jsを読み込むと、さらに問題が発生すると思われます。あなたはそれをローカルにホストする必要があります。どうして? SVNツリーのトランクから直接コードを参照しているからです。そのコードはあなたの上で変わることができます。あなたの仕事はテストされていない状態になります。 Google Codeから特定のリビジョンを参照することも、実際には自分でホストすることもできます。

+0

あなたの懸念事項をすべて理解しました。 +1 – Jashwant

1

html5shimを使用する場合は、最初にローカルに読み込むことをおすすめします。彼らのウェブサイトでは、彼らは最近、GitHubからホットリンクするのではなく、テストされていないコードをホストする可能性のあるファイルをダウンロードさせるように言い回しを変更しました。

+0

情報ありがとう+1 – Jashwant

4

ホストローカルSHIV、Googleからのそれを使用して多くの問題があります(ないDNSアップなどに見える以上)より参照してください - 私は気にしないだろうとjQueryのコールバックコード用としてhttp://zoompf.com/blog/2012/05/html5shiv-and-serving-content-from-code-repositories

、ユーザーはなりますコールバックが始まるずっと前にページが壊れていると思う。

あなたのページのURLを教えていただければ幸いです。

+0

素晴らしい情報です。 +1。私はVladimirの答えに印を付ける必要があります。しかし、はい、私は確かにGoogleのバージョンを使用するつもりはありません。 – Jashwant

+0

問題はVladimirのコードにはパフォーマンスの観点から悪い習慣が含まれています:-( –

+0

はい、私はVladimirのコードを使用しません。私はあなたの提案をしています。今、私はcdn jQueryを使用するつもりはありません。私の質問に答えました。 – Jashwant

関連する問題