Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

461
Views
¿Puedo limitar el alcance de la versión de jQuery que necesito usando noConflict() si se desconoce el orden de carga de otros scripts?

Quiero incluir de forma asincrónica una versión específica de jQuery en una página que no controlo (plataforma de comercio electrónico) y solo usarla en mi script. La página puede cargar otras secuencias de comandos, que también pueden querer hacer lo mismo, y no sé el orden en que la página incluye mi secuencia de comandos frente a otras.

Usando jQuery.noConflict([removeAll]) , puedo asegurarme de que:

  1. mi script obtiene la versión correcta de jQuery
  2. ¿No sobrescribo la versión de jQuery para nadie más?

Creo que esta pregunta es diferente de la mayoría de las otras preguntas de versiones múltiples de jQuery porque las personas hacen suposiciones sobre el orden de inclusión del script y no usan la carga asíncrona de jQuery con devoluciones de llamada.

¡Gracias!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Aquí está mi intento de esto (¿alguien podría confirmar que esto está bien?):

miscript.js

 (function() { var myJQuery; function loadjQuery(url, callback) { var runCallbackOnSuccess = function() { if (typeof jQuery != "undefined") { myJQuery = jQuery.noConflict(true); // NOTICE THIS LINE callback(); } }; var scriptTag = document.createElement("script"); scriptTag.setAttribute("src", url); scriptTag.onload = runCallbackOnSuccess; document.getElementsByTagName("head")[0].appendChild(scriptTag); } function doSomethingInMyScript() { myJQuery(document).ready(....); } loadjQuery("https://code.jquery.com/jquery-ABCmin.js", doSomethingInMyScript); })();

otherscript.js (fuera de mi control, pero suponiendo que sea así)

 (function() { function loadjQuery(url, callback) { <same as above, but without the noConflict() call> } function doSomethingInOtherScript() { jQuery(document).ready(....); } loadjQuery("https://code.jquery.com/jquery-XYZmin.js", doSomethingInOtherScript); })();

¿Funcionará este código independientemente de:

  1. si la página incluye myscript.js u otherscript.js primero
  2. si las funciones de devolución de llamada para myscript.js u otherscript.js se ejecutan primero?

Sospecho que debería estar bien siempre que las funciones de devolución de llamada se ejecuten inmediatamente después de que se cargue cada jQuery respectivo, sin posibilidad de que el código del otro script se intercale entre jQuery cargado y la devolución de llamada ejecutada.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!