Estoy tratando de completar un ejercicio para uno de mis cursos y mi archivo HTML no se vinculará con mi archivo Javascript. Puse el enlace entre mi archivo HTML y mi archivo Javascript en el cuerpo de mi archivo HTML, pero los archivos aún no se conectan. Cuando pruebo este código en Microsoft Edge, los botones simplemente no funcionan. Alguien sabe cuál es el problema?

HTML

    <!DOCTYPE html>
    <html lang="en-US">
        <head>
            <title>HTML Page</title>
            <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        </head>
        <body>
            <button onclick = "startWorker()">Start Worker</button>
            <button onclick = "stopWorker()">Stop Worker</button>
            <ul id = "output">      
            </ul>
            <script type = "text/javascript" src = "/js/script.js"></script>
        </body>
    </html> 

Javascript

var worker;
function startWorker(){
    worker = new Worker ("js/mod4_worker.js");
    worker.onmessage = function(event){
        document.getElementById("output").innerHTML += '<li>' + event.data + '</li>';
    };
}
function stopWorker(){
    worker.terminate();
}

Directory Structure

Archivos

1
TheZombieCloud 12 may. 2016 a las 05:21

3 respuestas

La mejor respuesta

Entonces, probaría mis comentarios:

  • Cambie la ruta script.js a: "../js/script.js"
  • Cambie el script de trabajo pasado a "../js/mod4_worker.js"

Como dijo GGG, usando una ruta que comience con "/", una barra diagonal, use la ruta desde la raíz. La ruta completa es:

Si la estructura es de / webapp /:

  • html / index.html
  • js / script.js

El acceso a script.js desde index.html necesita retroceder una carpeta (..) y luego establecer la ruta que se ve aquí (js / script.js) que proporciona (../js/script.js) O usar la ruta completa (/ webapp / js / script.js) que no recomendaría porque si cambia el directorio de ubicación o URL "webapp" (en el servidor web)

3
Master DJon 13 may. 2016 a las 23:24

Elimine / de su src en index.html. Entonces debería ser

src = "js/script.js"

¿Por qué? Cuando comienza el valor src con a /, eso significa que se está refiriendo a una ruta absoluta (en otras palabras, inicia la ruta desde la raíz de su unidad). Mis devtools lo muestran como

file:///C:/js/script.js 

Al eliminar el primero / en su src, ahora está haciendo una ruta relativa, y se verá en el lugar correcto.

0
Eugene Fedotov 12 may. 2016 a las 02:55

Permisos y ubicaciones de archivos

(Tropecé con esta Q y esta es la única forma en que la resolví ...)

Para mí, descubrí que era un problema de permisos y ubicación de archivos ...

Estoy ejecutando un servidor web local en Ubuntu 18 Desktop, trabajando con dev desde una carpeta local vinculada al directorio web: /var/www/html/MY_DEV -> /home/me/MY_DEV. Por lo tanto, el usuario www-data no podía "poseerlos" como era necesario.

Utilizo esta configuración muy bien para PHP, HTML y CSS. Pero, si incluyo un archivo javascript a través de src="", no importa lo que haga, no funciona.

La única forma en que podría hacer que funcione en mi escritorio es si AMBOS el archivo servido (somefile.php o somefile.html) están físicamente en /var/www/html/...

Y, por supuesto, acceder a ellas en localhost/...

Y, por supuesto, poseerlas obsesivamente con sudo chown -R www-data:www-data /var/www/html

0
Jesse Steele 1 sep. 2019 a las 15:48