Esto es extremadamente básico, pero no estoy seguro de por qué ha dejado de funcionar. tengo el siguiente archivo html
<html> <!doctype html> <head> <script> document.write("this is working")</script> <p>this is working</p> </head> <body> <script src="test.js"></script> </body> </html>
y el siguiente archivo javascript que está en la misma carpeta que el archivo html
document.write("Hello World!");
Los scripts y html dentro del documento html funcionan bien. Sin embargo, el archivo javascript externo no se ejecuta. Probé con una variedad de scripts en el archivo js y modificaciones menores en el archivo html. En una computadora con Windows 10.
Tenga en cuenta que esta no es una pregunta repetida, las otras preguntas similares a esta fueron ligeramente diferentes.
EDITAR: el error en la consola del navegador indica que "no se permite cargar la fuente local". Esto puede ser un problema de seguridad de Chrome. EDITAR: el mismo caso en todos los navegadores, por lo que no parece estar puramente relacionado con Chrome. Intenté todas las soluciones que pude encontrar pero no funcionó.
EDITAR: Intenté usar tanto el nodo como Python para el servidor.
Parece que está cargando el archivo HTML a través del protocolo de archivo (es decir, haciendo doble clic en el archivo y abriéndolo en un navegador). En ese caso, el navegador puede negarse a cargar cualquier recurso externo (secuencia de comandos test.js
en su caso) debido a la seguridad. Cargue el HTML a través del protocolo HTTP. Se puede lograr de muchas maneras.
php -S localhost:80
dentro del directorio del proyecto y se activará un servidor local, que puede explorar visitando http://localhost
. A continuación, servirá la página index.html
de forma predeterminada.npm
también), instale http-server
globalmente ( npm i http-server -g
). Y después de eso, ejecute http-server
dentro del directorio del proyecto. De forma predeterminada, activará un servidor local en el puerto 8080
, por lo que podrá visitar http://localhost:8080
y se servirá index.html
.Probé el último, y su código anterior funcionó perfectamente bien.
Esta no es una solución, pero es una solución si alguien tiene el mismo problema y no se produce una mejor respuesta.
Obtenga la extensión de Chrome "servidor web" y ábrala en lugar de ejecutarla a través del nodo, python, etc.