Me parece una buena idea. o agregar las características adicionales a Javascript en sí?¿Por qué los navegadores web no tienen jQuery incorporado?
Respuesta
Debido a que es sólo una biblioteca de muchos. Puede ser popular, pero está lejos de ser la única opción. Y también provocaría que se congelara en una versión particular y que las mejoras fueran mucho más lentas.
Además, hay poca ventaja de todos modos. Es bastante pequeño y puede configurarlo para que el navegador lo pueda almacenar indefinidamente, por lo que solo se descargará una vez; si tiene una nueva versión, tendrá un nuevo nombre de archivo, por lo que no hay ningún problema en que nunca caduque.
Además de esto, si utiliza una CDN "global" como la de Google para entregar la biblioteca jQuery, entonces es probable que jQuery * ya * exista en la memoria caché del navegador (porque todos los demás usan la misma CDN) por lo que no habría ser virtualmente ningún beneficio en absoluto. –
Sí, buen punto. Me olvidé de eso – jcoder
jQuery existe simplemente porque ellos (los fabricantes de navegadores) no pudieron ponerse de acuerdo sobre un estándar común.
Digo que se trata más acerca de la implementación incompleta de estándares y la aparición de técnicas no originalmente, o en todo, parte de cualquier estándar. Además, hay enfoques que son más convenientes que lo que proporcionan los estándares, p. envoltorios alrededor de getElementById. –
@George Yup, aún no mencioné por qué no podían estar de acuerdo. Tristemente, el mismo mecanismo que hizo que JS se desarrollara tan rápido también causó que fuera tan difícil de usar en general que ahora necesita marcos. Y lo mismo está sucediendo con CSS ... – mbq
También existe la cuestión del control de versiones. Ciertos sitios y extensiones de jQuery requieren una cierta versión de jQuery. Ahora depende de la aplicación decidir qué versión usar.
, pero podría configurar un sistema de declaración similar a HTML doctypes e incluir varias bibliotecas de versiones en la instalación del navegador. El único problema es el desfase entre las versiones de jQuery y la compatibilidad con el navegador – HorusKol
@HorusKol - I no veo el retraso como un problema tampoco. El funcionamiento real del navegador no tiene nada que ver con la biblioteca, por lo que puede actualizarse automáticamente cada vez que sale una nueva versión de la biblioteca. El proveedor del navegador no necesita enviar una actualización de software solo para hacer eso. – Anurag
Puede considerar jQuery como un complemento de JavaScript. Y los navegadores no se envían con complementos, de lo contrario, el propósito de los complementos sería irrelevante.
Probablemente porque los navegadores son difíciles de actualizar. Es posible que alguna de las ventajas de JQuery llegue a javascript, y creo que algo de esto acaba de ocurrir. (bueno, la idea es de todos modos) Lleva años agregar una función a algo así como javascript, donde la biblioteca de JQuery puede simplemente lanzar una nueva versión.
realidad, hay un incendiario o complemento de Firefox en la que le permite inyectar jQuery en la página .. pero eso es sólo una herramienta de desarrollo
plugins se actualizan con más frecuencia que los navegadores - dentro de una semana la versión del navegador de jQuery estaría fuera de fecha :)
Creo que esta pregunta debería ser una discusión más grande, pero estas respuestas son todas falsas. Esto también es 2 años más tarde, por supuesto.
- "es solo una biblioteca de muchas" - incluye el top 11.
- "no podía estar de acuerdo con un estándar común" - Por lo que jQuery es un estándar propio en este punto.
- "actualizado con más frecuencia que los navegadores" o "hacer que las mejoras sean más lentas" - Por lo tanto, el navegador no tendrá jQuery-1.9.x hasta la próxima actualización del navegador, simplemente no lo incluya en su proyecto.
- "Caché de todos modos": Claro, sigue siendo una transferencia que no tiene que suceder, y hay muchas personas que no han navegado mucho en su nuevo dispositivo que todavía quieren que su sitio sea rápido. y así.
El hecho es que es totalmente factible y sería mejor para la carga de internet; por cuánto es discutible. Realmente podría ver a Chrome reemplazando al menos una transferencia de red a su CDN con una copia local, pero estoy seguro de que hay algunos problemas legales, de seguridad o de neutralidad de red con eso. Al igual que estoy seguro de que la razón principal tiene algo más que ver con estos asuntos y no estas excusas técnicas cojas que obviamente no se consideran bien.
Esto podría beneficiar a otras bibliotecas también si los desarrolladores pudieran confiar en la velocidad y la disponibilidad de una biblioteca completa de herramientas como dojo, y no tener que elegir solo para recortar peso. Y también como la mayoría de las bibliotecas han adoptado el enfoque AMD o requireJS para empaquetar sus proyectos, creo que hay un buen argumento para permitir que el navegador al menos esté informado de sus dependencias.
"* Realmente podía ver [navegadores] al menos reemplazando cualquier transferencia de red a [una cierta URL] con una copia local *" - ya lo hacen. Se llama almacenamiento en caché HTTP. – Bergi
Adición de jQuery [tipo] funcionalidad al navegador está incorporado aplicación JS (o lo que es un plug-in de clase primero) superaría un problema básico:
Como muchos han dicho, jQuery es una librería JS - es decir, en caso de que el centavo no caiga - que es escrito en JS y tiene que ser interpretado en tiempo de ejecución.
Incrustarlo significaría que podría estar escrito en código nativo para el sistema operativo, por lo que es mucho más eficiente.
- 1. ¿Por qué los navegadores permiten desactivar Javascript?
- 2. ¿Por qué los navegadores no tienen una barra de progreso de carga de archivos?
- 3. ¿Los sitios web realmente necesitan atender navegadores que no tienen Javascript habilitado?
- 4. ¿Por qué los navegadores usan tanta memoria?
- 5. ¿Por qué las tuplas tienen uses_allocator pero los pares no?
- 6. ¿Por qué los registros de Delphi no tienen herencia?
- 7. ¿Por qué los ayudantes no tienen html en ellos?
- 8. ¿Por qué los métodos ruby no tienen alcance léxico?
- 9. ¿Por qué los controles WPF no tienen propiedad de etiqueta?
- 10. Por qué los métodos de interfaz no tienen cuerpo
- 11. ¿Por qué los elementos ul no tienen altura?
- 12. ¿por qué los archivos de encabezado STL no tienen extensión?
- 13. ¿Por qué Python no tiene un getattr híbrido + __getitem__ incorporado?
- 14. navegador web incorporado
- 15. ¿Por qué los navegadores no envían si tienen javascript habilitado/deshabilitado en el encabezado de la solicitud?
- 16. .otf fuentes en los navegadores web
- 17. ¿Por qué los navegadores muestran errores feos para los certificados SSL que no son de confianza?
- 18. ¿Por qué Ruby no tiene un ThreadPool incorporado?
- 19. ¿Con qué frecuencia encuentra javascript deshabilitado en los navegadores?
- 20. ¿Por qué los eventos de WebControl tienen el prefijo "Encendido"?
- 21. ¿Qué navegadores actualmente admiten Web Workers?
- 22. ¿Por qué los literales de los números no tienen acceso a los métodos numéricos?
- 23. ¿Por qué los scripts de la biblioteca jQuery no tienen espacio entre las líneas de los otros?
- 24. ¿Qué navegadores web son compatibles con Array.forEach()
- 25. jQuery problema entre navegadores
- 26. ¿Por qué Web Sockets no usa SOAP?
- 27. ¿Por qué mis animaciones de jQuery están picado en los navegadores basados en webkit?
- 28. jQuery scrollTop incoherente en navegadores
- 29. Highcharts jQuery representación problema - todos los navegadores
- 30. ¿Por qué JQuery no consolida sus constantes?
posible duplicado de [¿Por qué jQuery no está integrado en el navegador] (https://stackoverflow.com/q/8287607/1048572) – Bergi