Tengo dos div en mi archivo html y estoy usando dos archivos javascript externos. Pero el problema es que cuando uso ambos archivos js juntos no obtengo la funcionalidad requerida, así que quiero restringir el uso del archivo js en particular div

Por ejemplo: div1 solo debe usar el archivo js1 y div2 solo debe usar el archivo js2 para que no ocurra un choque y obtenga la funcionalidad requerida.

Estoy creando una aplicación web que utiliza muchos widgets y estos widgets se están cargando desde la base de datos. Hay un panel de administración donde un administrador puede agregar widgets. Estoy obteniendo todo el código del widget de la base de datos en una misma página. así que en el futuro puede suceder que después de agregar muchos widgets y archivos js relacionados choquen y creen problme.so quiero restringir su uso a ciertos widgets

0
amit kumar 1 sep. 2014 a las 10:11

3 respuestas

La mejor respuesta

no lo que dices no es posible . pero lo que puedes hacer es usar diff scope para diff javascripts.
Si son tus propios archivos js escritos
1. luego simplemente cambie todas las variables para que sean las propiedades de una variable global.
2. no dependa de la variable de ventana
3. si está utilizando la manipulación DOM utilizando nombres de clase / nombres de etiqueta / valores de atributos que son comunes para ambos divs, cámbielos y también cambie el valor respectivo en el div. Para que pueda acceder a ellos de forma continua.

Si son una de las bibliotecas js populares como jquery / _js / backbone, use la opción predeterminada sin conflicto provista para cargar versiones separadas y luego úselas por separado en los dos divs separados.

0
Parv Sharma 1 sep. 2014 a las 06:15

Dentro de una página (contexto de navegación), solo hay un entorno JavaScript. Para obtener el tipo de aislamiento al que te refieres, tendrías que crear un contexto de navegación separado usando un iframe o similar.

1
T.J. Crowder 1 sep. 2014 a las 06:15

No estoy seguro de si está utilizando jquery o JavaScript simple.

Si es jquery, puede usar jquery noconflict. Cree alias separados para usar jquery para div1 y div2

    <script>

        var div1Alias = $.noConflict();
        var div2Alias = div1Alias.noConflict();
        jQuery(document).ready(function(){
             alert(div1Alias( "#div1" ).html());
             alert(div2Alias( "#div2" ).html());
        });
    </script>

http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/ ¿Cómo implemento JQuery.noConflict ()?

0
Community 23 may. 2017 a las 10:29