[Ayuda]  Incompatibilidad con Scripts
Buen día comunidad, tengo un problema en mi foro, pero antes de mencionarlo necesito salir de dudas así que llevaré el tema a cabo por partes: Primer...

Buen día comunidad, tengo un problema en mi foro, pero antes de mencionarlo necesito salir de dudas así que llevaré el tema a cabo por partes: Primero mi duda, y luego les diré mi verdadero problema.

Al insertar a mi foro, un script que use jQuery, la manera ideal sería cargar jQuery en la plantilla header_include ¿verdad?

Si esto fuera cierto, supongamos que voy a insertar mi foro, 5 scripts totalmente diferentes, en donde todos aquellos requieren de jQuery, mi duda es...

¿Basta que cargue jQuery 1 sola vez en mi plantilla header_include para que estos scripts funcionen en cualquier parte del foro?

Esa es mi duda por ahora, espero que den buenas respuestas justificadas. Smile
De echo la manera correcta de hacerlo es mandando a traer la librería principal 1 sola vez, después de eso puedes utilizar el código de jQuerynoConflict(); porque esto previene la incompatibilidad por defecto con prototype que es el motor por asi decirlo de MyBB, entonces puedes utilizar este llamado una sola ocasión y luego restructurar el código según lo estipulado en el sitio mismo de jQuery.

Puedes hacer los llamados de tus 5 códigos de una sola vez o por separado, yo te lo digo porque utilizo jQuery en mi foro con muchisimas librerias y plugins y lo he utilizado asi mismo para que el foro se mire mejor y no hay un solo problema, en ocasiones debes restructurar tus códigos, pero sólo eso para hacer funcionar algunos plugins o códigos del mismo, saludos...
La única respuesta xD
Bueno DarkNeo muchas gracias, sí te entendí...

Y cómo funciona exactamente el jQuerynoConflict();, qué es lo que tengo que poner aparte de eso en mi header_include?

Yo puedo integrar muchos scripts, el problema es que surgen estas incompatibilidades y ahora me doy cuenta que es por no usar el jQuerynoConflict(); por eso me gustaría saber qué es lo que tengo que aprender para poder establecer correctamente esa función y así mis códigos funcionen limpios...

Undecided
Esa función te permite mas que nada utilizar prototype y jQuery, de echo hay algunos scripts mas que tienen incompatibilidad con jQuery y para ellos es que se hizo dicha función, cuando tu la mandas a traer directamente a tu código lo que hace es prevenir de posibles fallos con prototype que es la base de scripts que utiliza MyBB o el motor por asi decirlo, ahora ha cambiado de prototype a jQuery pero eso en las futuras revisiones de MyBB, me parece que desde la 1.8 será el principal cambio, el uso de la librería jQuery en lugar de prototype para interactuar con el DOM de MyBB.

Sólo es eso, tu puedes probar tus propios códigos dependiendo de su estructura, debes saber si o si programación para saber de que te hablo, pero es simple y sencillo, no es sólo con MyBB, sino con otros scripts que utilizan librerias que son atiguas y por ende causan un conflicto en el uso de funciones xD.

Si agregas eso al comienzo entre un script, debes ya no tener problemas con ningún programa estructurado de la forma que se menciona en el sitio oficial de jQuery para usos con prototype y librerias que no son compatibles xD.

Saludos...

La info esta ahi escrita solo hay que leerla.
Wao, yo recién me voy introduciendo al mundo de la programación, DarkNeo muchas gracias por tu respuesta, me dejaste claro por qué tenía errores cuando empleaba scripts sin saber sobre sus posibles conflictos, tanto así que a veces me veía obligado a llamar nuevamente a la librerí jQuery desde la misma plantilla en la que se ejecuta el script, cosa que no es correcta porque surgen problemas...

Voy a leer muy bien acerca de eso, gracias nuevamente Smile

Saludos!
La idea es que llames a la libreria una ves asi como al no conflict y luego rediseñes tus nuevos scripts de jQuery, como te digo yo en mi sitio utilizo muchas formas del llamado permitido a esta librería, pero en efecto, cuando lo llamas en mas de una ocasión no es que haya problemas, sino que se crea un conflicto de que la librería existe, entonces no sabe cual tomar en cuenta y se crea un bucle sin sentido.

Asi que simplemente llama a la librería en headerinclude y con eso y ahi mismo declares el no conflict ya puedes diseñar tus scripts en las partes que desees sin que tengas mayores problemas.

Saludos...

NOTA: Se me olvidaba, cuando tu mires que en cierta parte no funciona algú código debes revisar la fuente de ese desperfecto, porque siempre por ejemplo si haces un llamado a algo que rompe la estructura de tu código lo que pongas debajo de esto no te va a funcionar xD, porque ahi se empieza el conflicto, eso lo he visto muchisimas veces, asi que tengan cuidado con eso, cuando mires que algo no está funcionando debes revisar tu código entero para ver de donde proviene dicho problema y corregirlo, si haces como te digo, puedes usar jQuery en todo tu foro sin problemas, sin redeclarar ni la librería, ni el noconfict, aunque la librería sólo debes llamarla una ocasión en su revisión mas reciente, asi te aseguras que funcione todo, ya que es un compendio de funciones y al final puedes llamar no conflict cada que uses jQuery, pero es mejor una sola ves la libreria y esto en tu headerinclude y verás que ya no tienes mayor problema al hacer uso del código como lo mencionan en el sitio de jQuery por posibles conflictos con prototype xD, saludos...
Última modificación: 6 Jan, 2014, 2:52 pm por Undefined.
Dark Neo
6 Jan, 2014, 2:48 pmDark Neo escribió:
La idea es que llames a la libreria una ves asi como al no conflict y luego rediseñes tus nuevos scripts de jQuery, como te digo yo en mi sitio utilizo muchas formas del llamado permitido a esta librería, pero en efecto, cuando lo llamas en mas de una ocasión no es que haya problemas, sino que se crea un conflicto de que la librería existe, entonces no sabe cual tomar en cuenta y se crea un bucle sin sentido.

Asi que simplemente llama a la librería en headerinclude y con eso y ahi mismo declares el no conflict ya puedes diseñar tus scripts en las partes que desees sin que tengas mayores problemas.

Saludos...

NOTA: Se me olvidaba, cuando tu mires que en cierta parte no funciona algú código debes revisar la fuente de ese desperfecto, porque siempre por ejemplo si haces un llamado a algo que rompe la estructura de tu código lo que pongas debajo de esto no te va a funcionar xD, porque ahi se empieza el conflicto, eso lo he visto muchisimas veces, asi que tengan cuidado con eso, cuando mires que algo no está funcionando debes revisar tu código entero para ver de donde proviene dicho problema y corregirlo, si haces como te digo, puedes usar jQuery en todo tu foro sin problemas, sin redeclarar ni la librería, ni el noconfict, aunque la librería sólo debes llamarla una ocasión en su revisión mas reciente, asi te aseguras que funcione todo, ya que es un compendio de funciones y al final puedes llamar no conflict cada que uses jQuery, pero es mejor una sola ves la libreria y esto en tu headerinclude y verás que ya no tienes mayor problema al hacer uso del código como lo mencionan en el sitio de jQuery por posibles conflictos con prototype xD, saludos...

DarkNeo, acabo de leer acerca de eso y me fue de maravilla, hoy mismo pude solucionar mi problema empleando esa función, y mi foro está limpio con solo tener jQuery cargado 1 sola vez en mi header_include sin más...

Sinceramente estoy agradecido por tu respuesta, Dark Neo, otra consulta...

Es necesario siempre tener cargado en el header_include la versión más reciente de jQuery? o la versión más reciente y estable de jQuery?

Quisiera saber, si FUERA de los problemas de incompatibilidad que puedan haber entre diferentes scripts... quisiera saber si hay scripts que solo funcionan por ejemplo con jQuery 1.8.2 y en cambio NO con jQuery 1.10.1, es posible eso?
Puede ser, por algunos cambios de código entre una revisión y otra, pero siempre es mejor tener la versión mas estable y adaptar los códigos a esta. Pero debes tener en cuenta que no es lo mismo jQueryUI que JQuery porque si cambian bastante en funciones, en el UI se simplifican, y en la normal son mas detallados xD. Pero de ahi en fuera si es una revisión de jQuery previa debe funcionar la mayoría de código y los plugins que sean para esa revisión, sólo que debes asegurarte de no repetir variables para evitar posibles conflictos o no utilizar una revisión 2 en lugar de la 1, por defecto estan trabajando en la 1.11 y la 2.1, pero los releases estables son 1.10.2 y 2.0.3 y aún asi me parece que hay un merge, no conozco mucho de esta librería, porque sólo voy revisando poco a poco las cosas, al igual que tu, pero mejor dime que códigos tienes que no sirvan de una a otra revisión y los verificamos, porque para mi es mas sencillo eso, sin embargo si deseas apoyo es más sencllo desde mi foro, porque aqui no me llegan ni los comentarios y tal ves ni MPs, por que no lo se, pero mejor contactenme por via mi foro si desean ayuda, para evitar crear temas sin sentido, pero el soporte normal como siempre será por medio de los foros, saludos...

De igual forma puedes ver la documentación de las versiones finales y todo y cuales son compatibles y en cuales debes hacer cambios al igual debe haber un log para ello.

1.6.4
1.7.2
1.8.3
1.9.1
1.10.1
2.0.2

Estas revisiones son por asi decirlo las últimas estables para cada release y entre cada una de ellos debe cambiar en ciertas partes el código y debe existir documentación de eso.y te deben mencionar los cambios, pero en general se deben poder adaptar los códigos que entre una revisión y otra han dejado de funcionar, saludos...
Dark Neo
7 Jan, 2014, 10:35 amDark Neo escribió:
Puede ser, por algunos cambios de código entre una revisión y otra, pero siempre es mejor tener la versión mas estable y adaptar los códigos a esta. Pero debes tener en cuenta que no es lo mismo jQueryUI que JQuery porque si cambian bastante en funciones, en el UI se simplifican, y en la normal son mas detallados xD. Pero de ahi en fuera si es una revisión de jQuery previa debe funcionar la mayoría de código y los plugins que sean para esa revisión, sólo que debes asegurarte de no repetir variables para evitar posibles conflictos o no utilizar una revisión 2 en lugar de la 1, por defecto estan trabajando en la 1.11 y la 2.1, pero los releases estables son 1.10.2 y 2.0.3 y aún asi me parece que hay un merge, no conozco mucho de esta librería, porque sólo voy revisando poco a poco las cosas, al igual que tu, pero mejor dime que códigos tienes que no sirvan de una a otra revisión y los verificamos, porque para mi es mas sencillo eso, sin embargo si deseas apoyo es más sencllo desde mi foro, porque aqui no me llegan ni los comentarios y tal ves ni MPs, por que no lo se, pero mejor contactenme por via mi foro si desean ayuda, para evitar crear temas sin sentido, pero el soporte normal como siempre será por medio de los foros, saludos...

De igual forma puedes ver la documentación de las versiones finales y todo y cuales son compatibles y en cuales debes hacer cambios al igual debe haber un log para ello.

1.6.4
1.7.2
1.8.3
1.9.1
1.10.1
2.0.2

Estas revisiones son por asi decirlo las últimas estables para cada release y entre cada una de ellos debe cambiar en ciertas partes el código y debe existir documentación de eso.y te deben mencionar los cambios, pero en general se deben poder adaptar los códigos que entre una revisión y otra han dejado de funcionar, saludos...

Gracias por tu generosidad de brindar soporte incluso por otros medios, como mencionas, me gustaría ahora mismo publicar una duda que tengo en tu foro, pero resulta que no encuentro la zona adecuada :/ en tu foro "MyBB - Zona Para Usuarios Registrados Únicamente" no encuentro la zona adecuada para postear dudas sobre scripts o plantillas de mi foro xD, sería bueno que crees una nueva zona al menos de soporte general.

Estoy registrado allí, pero no he posteado nada porque como te digo, no encuentro una zona de soporte general para foros MyBB, excepto la de plugins, si podrías orientarme por favor... te lo agradecería Smile
Colaboradores
Dark Neo
This forum uses Lukasz Tkacz MyBB addons.