2012-07-01 13 views
5

Generalnie sprawdzamy, czy jQuery jest załadowany z CDN, czy też nie, i wróć do wersji lokalnej, jeśli tak się nie stało.Sprawdź, czy załadowano 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> 

Używam twitter bootstrap i ładuje HTML 5 podkładkę z kopią googlecode.

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

Czy jest jakiś sposób mogę awaryjne do wersji lokalnej, jeśli nie załadować z googlecode

Albo robię coś złego. Nie powinienem tego sprawdzać?

Odpowiedz

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

Użyję tylko wersji lokalnej, ale twoja odpowiedź jest zdecydowanie odpowiedzią na pytanie. To działa ! – Jashwant

+2

Nie używaj document.write ... Analizator składni spekulacyjnej nie może załadować skryptu wstawionego przez niego i będziesz musiał czekać na wykonanie kodu, a wstawiony JS załaduje go przed innymi elementami DOM znajdującymi się pod nim można go zobaczyć http://www.stevesouders.com/blog/2012/04/10/dont-docwrite-scripts/ –

4

Nie zawracałbym sobie głowy powrotem do jQuery (długa dyskusja i puszka z robakami, których wolałbym nie otwierać), ale to zależy od ciebie.

Myślę, że ładowanie html5.js z kodu google będzie powodować więcej problemów, ale należy go hostować lokalnie. Czemu? Ponieważ odwołujesz się do kodu bezpośrednio z pnia drzewa SVN. Ten kod może/zmieni się na tobie, co sprawi, że twoja praca stanie się nieprzetestowana. Możesz odwołać się do konkretnej wersji z Googlecode ... lub naprawdę, po prostu hostuj ją samodzielnie.

+0

Rozumiem teraz wszystkie twoje obawy. +1 – Jashwant

1

Podczas korzystania z html5shim, polecam ładowanie go lokalnie. Na swojej stronie internetowej zmienili ostatnio treść, aby pobrać plik zamiast hotlinku z GitHub, który może obsługiwać nieprzetestowany kod.

+0

Dzięki za informację +1 – Jashwant

4

gospodarzem Shiv lokalnie, istnieje wiele kwestii, używając go od Google (nie najmniej DNS patrzeć itp) więcej See - http://zoompf.com/blog/2012/05/html5shiv-and-serving-content-from-code-repositories

Co do tego jQuery kodu zwrotnego nie przeszkadza, użytkownik Myślę, że strona jest zepsuta na długo przed uruchomieniem wywołania zwrotnego.

Jeśli podasz adres URL swojej strony, pokażę.

+0

Co za fajna informacja. +1. Muszę zaznaczyć odpowiedź Vladimira, ponieważ to poprawnie odpowiada na zadane pytanie. Ale tak, na pewno nie zamierzam używać wersji Google. – Jashwant

+0

Kłopot w kodzie Vladimira zawiera złą praktykę z punktu widzenia wydajności :-( –

+0

Tak, nie będę używał kodu Władimira, jestem z twoją sugestią, teraz nie zamierzam używać nawet cdn jQuery. "Ale jego odpowiedź była odpowiedzią na moje pytanie " – Jashwant