Estoy creando un complemento jquery y quiero verificar que se haya cargado un script externo. Esto es para una aplicación web interna y puedo mantener la coherencia entre el nombre y la ubicación del script (mysscript.js). Este es también un complemento ajaxy que se puede invocar muchas veces en la página.Verificar que se haya cargado el script externo
Si puedo verificar el guión no está cargado voy a cargarlo usando:
jQuery.getScript()
¿Cómo puedo comprobar que se carga el guión porque no quiero el mismo guión cargado en la página más ¿de una vez? ¿Es algo de lo que no debería preocuparme debido al almacenamiento en caché del script?
Actualización: Puede que no tenga el control sobre quién utiliza este plugin en nuestra organización y puede que no sea capaz de hacer cumplir que el guión no está ya en la página con o sin un ID específico, pero el nombre del script siempre estará en el mismo lugar con el mismo nombre. Espero poder usar el nombre del script para verificar que esté realmente cargado.
Sin votos, de lo contrario, le daría +1 a esta respuesta. – shanabus
Esta fue una buena respuesta, desafortunadamente el método jquery.getScript agrega la secuencia de comandos sin fuente especificada. Entonces no pude encontrarlo Utilicé parte de tu respuesta para resolver esto, así que +1. – AGoodDisplayName
@AGoodDisplayName En la devolución de llamada para '$ .getScript()' puede establecer un indicador global que se puede marcar: '$ .getScript (', function() {window.myCustomFlag = true;}')'. Luego puede verificar la existencia del elemento '
¿Cree la etiqueta del script con un ID específico y luego verifique si existe ese ID?
O bien, recorra las etiquetas de scripts y compruebe la secuencia de comandos 'src' y asegúrese de que no estén cargadas con el mismo valor que el que desea evitar.
Editar: después de retroalimentación que un ejemplo de código sería útil:
Fuente
2012-03-01 17:49:45 MyStream
+1 para una buena respuesta ante la pregunta se actualiza – zeroef
Esta es la solución perfecta. Recomiendo el segundo. –
Sería genial si se puede poner el código con estas ideas. –
Este subproceso está en la parte superior de las etiquetas SO jquery Preguntas y tiene una enorme variedad de métodos para comprobar la escritura exisitng
Best way to use Google's hosted jQuery, but fall back to my hosted library on Google fail
un montón de comentarios sobre diversos métodos
Fuente
2012-03-01 17:57:53 charlietfl
buena respuesta, por otra pregunta que ha estado en mi mente con respecto a CDN. +1 – AGoodDisplayName
Esto era muy simple ahora que me doy cuenta de cómo hacerlo, gracias a todas las respuestas por llevarme a la solución. Tuve que abandonar $ .getScript() para especificar el origen del script ... a veces hacer las cosas manualmente es lo mejor.
Solución
Fuente
2012-03-01 19:16:38 AGoodDisplayName
Otra forma de comprobar un script externo se carga o no, puede utilizar los datos función de jQuery y almacenar un indicador de validación. Ejemplo como:
Fuente
2014-06-12 04:37:32
Funciona bien para lo que necesitaba hacer. Gracias –
La fusión de varias respuestas desde arriba en un formato fácil de usar función
Fuente
2017-06-15 19:53:35