我正在尝试为我的某个课程完成练习,而我的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();
}
答案 0 :(得分:2)
所以,我会尝试我的评论:
正如GGG所说,使用以&#34; /&#34;开头的路径,斜杠,使用root的路径。完整路径是:
如果结构来自/ webapp /:
从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.php
或somefile.html
)的物理位置是否为/var/www/html/...
当然,可以在localhost/...
上访问它们
当然,还sudo chown -R www-data:www-data /var/www/html
迷恋它们