document.addEventListener('keydown', (event) => { var name = event.key; var code = event.code; if (name === 'Control') { location.replace(classroom.google.com) } if (event.ctrlKey) { alert(`Combination of ctrlKey + ${name} \n Key code Value: ${code}`); } else { alert(`Key pressed ${name} \n Key code Value: ${code}`); } }, false); // Add event listener on keyup document.addEventListener('keyup', (event) => { var name = event.key; if (name === 'Control') { location.replace(classroom.google.com) } }, false);
Cómo actualmente cuando presiono la tecla de control, no pasa nada. Si hago que ejecute una alerta en su lugar, entonces la alerta se ejecutará correctamente. ¿Necesito usar la función window.location en su lugar?
El problema con su código es que no está pasando una string
a location.replace()
.
En este momento, su código se ve así.
location.replace(classroom.google.com);
El problema con este código es que no lo rodea con comillas para convertirlo en una string
, por lo que JavaScript cree que está haciendo referencia a una propiedad de un objeto, de un objeto.
A continuación se muestra lo que JavaScript cree que está sucediendo.
const classroom = { google: { com: undefined, } }; console.log(classroom.google.com); // undefined
Para solucionarlo, simplemente rodee su parámetro entre comillas, como tal.
location.replace("classroom.google.com");
¡Esto debería redirigirte con éxito a aula.google.com !