2012-07-01 16 views
5

En general, verificamos si jQuery se carga desde CDN o no, y si no lo hace, recurrimos a la versión local.Comprueba si html 5 shim está cargado

<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> 

estoy usando arranque gorjeo, y se carga la cuña HTML 5 de la copia googlecode.

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

¿Hay alguna manera de repliegue a la versión local si no se carga desde googlecode

o estoy haciendo algo mal. ¿No debería estar revisando esto?

Respuesta

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

Usaré la versión local solamente pero su respuesta es definitivamente la respuesta a la pregunta. Funciona ! – Jashwant

+2

No utilice document.write ... El analizador especulativo no puede cargar el script insertado por él y tendrá que esperar a que se ejecute el código y que el JS insertado por él cargue antes que otros elementos DOM debajo de él. se puede ver en http://www.stevesouders.com/blog/2012/04/10/dont-docwrite-scripts/ –

4

no me molestaría volver a caer con el jQuery (discusión larga y lata de gusanos preferiría no abrir), pero eso depende de ti.

creo que la carga de los html5.js de googlecode va a causar más problemas, sin embargo, y usted debe acoger de forma local. ¿Por qué? Porque está haciendo referencia al código directamente desde el tronco de un árbol SVN. Ese código puede/cambiará en usted, lo que pondrá su trabajo en un estado no probado. Podría hacer referencia a una revisión específica de Googlecode ... o realmente, simplemente hágalo usted mismo.

+0

Ahora entiendo todas sus preocupaciones. +1 – Jashwant

1

Al usar html5shim, recomiendo cargarlo localmente en primer lugar. En su sitio web, recientemente cambiaron la redacción para hacer que descargue el archivo en lugar de vincularlo desde GitHub, que podría alojar código no probado.

+0

Gracias por la información +1 – Jashwant

4

anfitrión de la navaja a nivel local, hay muchos temas que lo usan de Google (no menos los DNS miran hacia arriba, etc) para más información, véase - http://zoompf.com/blog/2012/05/html5shiv-and-serving-content-from-code-repositories

cuanto a que el código de devolución de llamada jQuery no me molestaría, el usuario cree que la página está rota mucho antes de que se active la devolución de llamada.

Si me hace saber la URL de su página lo demostraré.

+0

¡Qué buena pieza de información! +1. Debo marcar la respuesta de Vladimir porque responde correctamente la pregunta. Pero sí, no voy a usar la versión de google con seguridad. – Jashwant

+0

El problema es que el código de Vladimir contiene una mala práctica de la perspectiva del rendimiento :-( –

+0

Sí, no voy a usar el código de Vladimir. Yo estoy con su sugerencia. Ahora, no voy a utilizar incluso el jQuery CDN. 'Pero su respuesta fue respuesta a mi pregunta' – Jashwant

Cuestiones relacionadas