12
Me pregunto si es posible cargar javascript de una manera que no bloquee la experiencia del usuario. No estoy seguro de cómo lograr lo mismo, pero estoy buscando una solución de navegador cruzado. Me pregunto si alguien puede guiarme en la dirección correcta. Colocar el js en la parte inferior de la página no funciona demasiado bien.Javascript sin bloqueo
Gracias por su tiempo.
Blargh, que tenía un muy buen enlace para esto, pero no puedo encontrarlo – Greg
Aclaración necesaria: estás hablando carga de javascript recursos de archivos como en las etiquetas '
Creo que puede usar Trabajadores, pero parece estar implementado en FF3.5, pero pocos más.
Ver http://hacks.mozilla.org/2009/07/working-smarter-not-harder/
Fuente
2009-07-10 07:50:34
Una pequeña búsqueda de Google en "onload Javascript" proporciona mucha información, en páginas como http://onlinetools.org/articles/unobtrive/spanish/chapter4.html. –
¡No te olvides de Gears! También tiene trabajadores web. –
¿Sí? Fui demasiado perezoso para mencionarlo, pero está en el artículo señalado. –
Cuando se carga una página sólo se puede descargar 2 javascript archivos en paralelo en un momento dado lo que tratar de mantener el número de archivos javascript abajo y su tamaño abajo (con Minificación, obsfucation y gzipping) ayudará con la experiencia de carga.
El uso de devoluciones de llamada en su javascript también ayudará con los elementos que no sean bloqueantes cuando se esté ejecutando javascript.
Un ejemplo de jQuery sería
Fuente
2009-07-10 07:55:22 AutomatedTester
Citando this answer:
Puede consultar una entrada del blog de YUI sobre Non-Blocking Javascript.
Fuente
2009-07-10 08:23:48 Kirtan
Deferring execution of JavaScript puede ser una muy buena solución si tiene algún JavaScript que no es crítico para haber cargado inmediatamente.
Fuente
2009-07-10 08:42:22 mikl
esto es por ejemplo, solo –
No, esto es compatible con todos los navegadores convencionales: http://www.webkit.org/blog/1395/running-scripts-in-webkit/ http: //hacks.mozilla .org/2009/06/defer / – mikl
setTimeout con un pequeño retraso permitirá que su flujo de control continúe mientras programa otra función para ejecutar más tarde. Esto es especialmente útil para evitar que la IU se bloquee o dependa inadvertidamente de la ejecución exitosa de la otra función.
Me resulta muy útil evitar que los errores de javascript interfieran con los eventos enlazados. Por ejemplo, para instalar un controlador de enviar en un formulario:
Fuente
2010-02-02 21:08:04 aceofspades
Tener un vistazo a este jQuery plugin (http://code.google.com/p/funky-jq-plugins/wiki/nonblocking).
Su objetivo es utilizar temporizadores para emular un entorno de subprocesos múltiples donde el subproceso de interfaz de usuario no se congela mediante operaciones exigentes como la iteración en listas largas. materia muy fresca ... Lo escribí :)
Ciao por ahora
Fuente
2012-05-25 10:52:12 nourdine