Javascript JS和CSS不在html中加载
我一直在关注这篇文章以开始构建一个交互式网页,但我无法让JS和CSS正常工作 我在Sublime中工作,我按照本教程通过http而不是文件系统来运行它 我反复检查了50次文件夹路径,它们作为“脚本”和“样式”保存在我的桌面上,与index.html文档位于同一文件夹中,并尝试了路径开头的不同点和斜杠,但JS和CSS无法加载。我还移动了head和body标记之间的'link rel'和'scripts async src'行,但这似乎没有什么区别 我的html文档如下所示Javascript JS和CSS不在html中加载,javascript,html,css,Javascript,Html,Css,我一直在关注这篇文章以开始构建一个交互式网页,但我无法让JS和CSS正常工作 我在Sublime中工作,我按照本教程通过http而不是文件系统来运行它 我反复检查了50次文件夹路径,它们作为“脚本”和“样式”保存在我的桌面上,与index.html文档位于同一文件夹中,并尝试了路径开头的不同点和斜杠,但JS和CSS无法加载。我还移动了head和body标记之间的'link rel'和'scripts async src'行,但这似乎没有什么区别 我的html文档如下所示 <!DOCTYPE
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Website</title>
<link rel=“stylesheet” type="text/css" href=“../styles/styles.css” />
<script async src="./scripts/index.js"></script>
</head>
<body>
<h1>Hello, World</h1>
<h4 id=‘date’></h4>
<img src="images/IMG_4945.jpg" alt="My test image">
</html>
document.getElementById('date').innerHTML = new Date().toDateString();
body {
text-align: center;
background-color: #ffe6e6;
}
我的CSS文档看起来像这样
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Website</title>
<link rel=“stylesheet” type="text/css" href=“../styles/styles.css” />
<script async src="./scripts/index.js"></script>
</head>
<body>
<h1>Hello, World</h1>
<h4 id=‘date’></h4>
<img src="images/IMG_4945.jpg" alt="My test image">
</html>
document.getElementById('date').innerHTML = new Date().toDateString();
body {
text-align: center;
background-color: #ffe6e6;
}
../表示父文件夹。因此:
<link rel="stylesheet" type="text/css" href="styles/styles.css" />
<script src="scripts/index.js"></script>
代码中的双引号有效吗?“->请检查。如果不查看您的文件结构,很难判断,但假设您的文件结构如下:
|-Project
|-----css
|---------style.css
|-----js
|---------main.js
|-----index.html
<link rel="stylesheet" href="/css/style.css" />
在index.html中,您应该这样调用css:
|-Project
|-----css
|---------style.css
|-----js
|---------main.js
|-----index.html
<link rel="stylesheet" href="/css/style.css" />
在基于UNIX的操作系统和localhost Windows/中,等同于文档根目录。最好这样做,因为您可以保证无论将代码复制到何处,都始终调用该文件
注意:在Windows服务器中/不起作用-不确定原因。我想Windows很糟糕。从脚本元素中删除async关键字。这不是异步脚本,它会在DOM准备好之前修改它 使用jQuery$document.readyfunction{};或JS window.onload=function{};并删除该async属性,以便脚本与DOM同步运行
换句话说,你不能在文档创建之前对其进行编辑。但是你正在尝试使用异步方式来编辑文档,而不检查文档是否准备就绪。你没有在你的伴侣面前关闭你的身体:在关闭HTML标记之前关闭。我注意到你的一些单引号和双引号是“花哨”类型。这可能是造成问题的原因?有时候,当你从网页复制粘贴代码时会发生这种情况。@这个人有两个大拇指,事实上我不这么认为。我认为它们是“智能引号”。反勾号是不同的。如果它们是反勾号,它们会在两端以相同的方式倾斜。@Vimes oh snap先生-你说得对-甚至没有看到它们是向右的!从来没有见过这些引号fore:如果styles文件夹像OP的原始代码一样位于父文件夹中,您会怎么办?您的是一个假设,而不是答案。@Alberto,那么它仍然有效…最好始终使用完整URL-htaccess和server conf并不总是配置为使用../links,并且需要绝对链接urls@Alberto是的,是的,只有在不起作用的情况下如果CSS/JS文件存储在项目文件夹之外-在这种情况下,..OP应该重新构造项目,使其包含资产。因此,您的问题只是一个假设,而不是OP问题的答案。@Alberto不,OP在哪里提到代码存储在项目文件夹之外..因此答案是: