【问题标题】:Basic JS script does not want to load in the HTML file基本 JS 脚本不想加载到 HTML 文件中
【发布时间】:2018-09-18 06:24:36
【问题描述】:

我正在努力让最基本的事情发挥作用,但无法弄清楚我做错了什么。

我的 html 文件:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <script type="text/javascript" src="script.js"></script>
  <title>This Is Just a Dummy App</title>
</head>
<body>

  <button onclick="makeAlert()">Click here</button>

</body>

</html>

script.js,它与 HTML 文件在同一目录中

const makeAlert = () => { alert('Hey hey') };

页面不想加载,句号,浏览器控制台没有错误。

更新

这是 Node.js 应用程序的一部分,没有 Express 或任何东西,这就是它被配置为加载 HTML 的方式。我不知道这是否是这里的一个因素。

const http = require('http');
const fs = require('fs');

const hostname = '127.0.0.1';
const port = 3001;

const server = http.createServer((req, res) => {
  const url = req.url;

  if(url === '/') {
    res.writeHead(200, {
      'Content-Type': 'text/html'
    });
    fs.readFile('./index.html', null, function (err, data) {
      if (err) {
        res.writeHead(404);
        res.write('something went wrong');
      } else {
        res.write(data)
      }
      res.end();
    })
  }
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
}); 

【问题讨论】:

  • 我将您的代码复制并粘贴到我的代码中,它可以工作
  • 有点傻,但发生了。也许检查您是否正确拼写了script.js 文件?
  • 这很奇怪。这是 Node 应用程序的一部分,但如果我不使用此脚本,则页面加载正常。
  • 我添加了用于启动 Node 服务器和加载 HTML 的代码。也许这与它有关?
  • 尝试添加脚本内联,并通过控制台检查当前路径是什么?不确定节点是如何工作的,但这可能是一个路径问题。 nodejs.org/api/path.html#path_path_relative_from_to

标签: javascript html node.js


【解决方案1】:

在 sn-p 上运行良好,您是尝试从服务器运行它还是仅从文件系统运行它?一些浏览器不喜欢从文件系统运行脚本。获取开发 Web 服务器。

const makeAlert = () =&gt; { alert('Hey hey') };
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>This Is Just a Dummy App</title>
</head>
<body>

  <button onclick="makeAlert()">Click here</button>

</body>

</html>

【讨论】:

  • 这很奇怪。这是 Node 应用程序的一部分,但如果我不使用此脚本,页面加载正常。
猜你喜欢
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
  • 2017-02-14
  • 2019-02-11
  • 1970-01-01
  • 2018-12-23
  • 1970-01-01
相关资源
最近更新 更多