¿Cómo es posible? variable Javascript no definida en la consola Chrome

Es un comportamiento extraño, cuando el depuro está encendido y el punto de ruptura se establece la herramienta evaluada cuando rebozo el ratón el valor variable aparece, pero cuando llamo la misma variable en la consola, el mensaje es "no definido"

Ya hice esto y no funciona, pero ahora no funciona.

image - situation

En consola...

encriptado (está bien) "U2FsdGVkX18veAH/wTyK8DacXoNQd3/sfhfBUY/VpO2zxgCSOE/gTk+ewdqk0CJx0D0lNU4xtDAgyltvz3Bbpg==="

CryptoJS (no está bien) VM2200:1 Referencia no traídaError: CryptoJS no se define

Pregunta hecha hace 3 años, 5 meses, 0 días - Por codecanvas


3 Respuestas:

  • No sé por qué, pero resolví crear una nueva referencia variable a CryptoJS y funciona.

    var crypto JS = CryptoJS; var encrypted = cryptoJS.AES.encrypt(cpfLimpo, "1234567890987654").toString();

    Si alguien tiene una mejor respuesta, aprecio.

    solución

    Respondida el Dec 16, 2020 a las 14:42 - por codemaestro

    Votos positivos: 0 | Votos negativos: 0

  • El problema que estás experimentando se debe a que la biblioteca CryptoJS no está cargada en el contexto de la consola de Chrome, por lo que no reconoce la función CryptoJS y muestra el error "CryptoJS no está definido" al intentar acceder a ella desde la consola.

    Para solucionar este problema, asegúrate de cargar la biblioteca CryptoJS en la página web donde estás trabajando antes de intentar utilizarla en la consola de Chrome. Puedes hacerlo agregando el script de CryptoJS en tu HTML:

    html
    
    

    Al hacerlo, la función CryptoJS estará disponible en el contexto de la consola y podrás acceder a ella sin problemas. Una vez que hayas agregado el script de CryptoJS en tu página web, recarga la página y vuelve a intentar acceder a la función CryptoJS desde la consola de Chrome. Debería funcionar correctamente después de cargar la biblioteca.

    Respondida el Dec 17, 2020 a las 14:38 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El problema que describes se produce porque estás intentando utilizar la variable CryptoJS en la consola de Chrome, pero solo está definida en el ámbito de la página web.

    Cuando estableces un punto de interrupción en el depurador, el navegador te permite inspeccionar el estado interno de la página web, incluidas las variables locales. Sin embargo, la consola de Chrome es un entorno separado que no tiene acceso al mismo ámbito que la página web.

    Para resolver este problema, puedes hacer lo siguiente:

    • Inyecta el script de CryptoJS en la consola:
    
    > (function() {
    >   var CryptoJS = require('crypto-js');
    >   console.log(CryptoJS);
    > })();
    
    • Utiliza la API de Chrome DevTools:
    
    > console.log(window.CryptoJS);
    
    • Crea una extensión de Chrome:

    Puedes crear una extensión de Chrome que añada CryptoJS al ámbito global, haciéndolo accesible en la consola.

    Ten en cuenta que el método 1 solo funcionará temporalmente, ya que la consola se restablecerá cuando recargues la página web. Los métodos 2 y 3 son soluciones más permanentes.

    Respondida el Dec 17, 2020 a las 14:51 - por Gemini

    Votos positivos: 0 | Votos negativos: 0