我的HTML文件无法与我的Javascript文件链接

时间:2016-05-12 02:21:13

标签: javascript jquery html

我正在尝试为我的某个课程完成练习,而我的HTML文件无法与我的Javascript文件建立链接。我将HTML文件和我的Javascript文件之间的链接放在HTML文件的正文中,但文件仍然无法连接。当我在Microsoft Edge中测试此代码时,按钮根本不起作用。有谁知道问题是什么?

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

Files

3 个答案:

答案 0 :(得分:2)

所以,我会尝试我的评论:

  • 将script.js路径更改为:&#34; ../ js / script.js&#34;
  • 将工作人员传递的脚本更改为&#34; ../ js / mod4_worker.js&#34;

正如GGG所说,使用以&#34; /&#34;开头的路径,斜杠,使用root的路径。完整路径是:

  • Windows:file:// DriveLetter:\ REST_OF_PATH
  • Unix / Linux / OSX:file:/// REST_OF_PATH
  • WebServer:http://domain/REST_OF_PATH

如果结构来自/ webapp /:

  • HTML / index.html中
  • JS​​ /的script.js

从index.html访问script.js需要返回一个文件夹(..),然后设置这里看到的路径(js / script.js),它给出(../js/script.js)或者使用完整路径(/webapp/js/script.js),我不推荐,因为如果你改变&#34; webapp&#34;位置或URL的目录(在WebServer上)

答案 1 :(得分:0)

从index.html中的src中删除/。所以它应该是

src = "js/script.js"

为什么呢?当您使用/开始src值时,这意味着您指的是绝对路径(换句话说,它从驱动器的根开始路径)。我的devtools将其显示为

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

通过移除你的src中的第一个/,你现在正在做相对路径,它会在正确的位置看。

答案 2 :(得分:0)

权限和文件位置

(偶然发现了这个问题,这是我解决问题的唯一方法...)

对我来说,我发现这是一个权限和文件位置问题...

我正在Ubuntu 18 Desktop上运行本地Web服务器,并从链接到Web目录/var/www/html/MY_DEV -> /home/me/MY_DEV的本地文件夹中使用dev。因此,www-data用户实际上并不能像需要的那样“拥有”他们。

对于PHP,HTML和CSS,我使用此设置就很好。但是,如果我通过src=""包含了一个javascript文件,无论我做什么,都将无法正常工作。

我要使其在桌面上正常工作的唯一方法是,所提供的文件(somefile.phpsomefile.html)的物理位置是否为/var/www/html/...

当然,可以在localhost/...上访问它们

当然,还sudo chown -R www-data:www-data /var/www/html迷恋它们