首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在HTML中实现JS

在HTML中实现JS
EN

Stack Overflow用户
提问于 2016-05-07 15:28:07
回答 3查看 775关注 0票数 0

这应该很容易,但也很简单,但我不能解决这个问题。

如果我在在线编辑器中键入以下HTML和JS代码,一切都会正常工作,但如果我在我的(脱机)编辑器中输入这些代码,它将无法工作。以下是在线代码:http://jsbin.com/kenurunahu/1/edit?html,js,output)

我敢打赌,这与加载顺序和文件的链接方式有关。

这就是我的(lokal) HTML文件的样子(文件链接的地方):

代码语言:javascript
复制
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" content="Index.css">
  <script src="Script.js"></script>
</head>

<body>
  <p id="demo">
    something
  </p>
</body>

</html>

非常感谢你的帮助!

更新Firefox和Chrome显示JS文件。有时我会收到一条错误消息,上面写着'innerHTML是null',但是如果我把相同的代码写到控制台中,一切都很好。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-07 16:09:04

在浏览器完全加载html dom之前加载js脚本时会出现错误。测试的一个简单解决方案是将脚本包含放在html页面的末尾,如下所示:

代码语言:javascript
复制
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" content="Index.css">
</head>

<body>
  <p id="demo">
    something
  </p>
  <script src="Script.js"></script>
</body>

</html>

更好的解决方案是只在dom完全加载时运行脚本。例如,在body onload事件中:

代码语言:javascript
复制
<body onload="yourFunc()"> 

或者只使用js代码(例如使用jquery函数)或编写一个应该在所有主要浏览器上工作的简单自定义处理程序,从而更好地处理事件:

代码语言:javascript
复制
document.addEventListener("DOMContentLoaded", function(event) { 
  //call your func here
});

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2016-05-07 15:32:33

几个猜测:

  1. 资本化很重要。如果文件名为script.js,请不要链接到Script.js
  2. js文件是否与index.html文档位于同一个文件夹中?因为你就是这么说的。

通常,我们安排我们的文件结构如下:

public_html - css - js - img - inc

如果样式/脚本存储在子文件夹(如jscss )中,则必须将引用修改为:

代码语言:javascript
复制
<link rel="stylesheet" content="css/Index.css">
<script src="js/Script.js"></script>
票数 0
EN

Stack Overflow用户

发布于 2016-05-07 16:01:25

作为一种良好的实践,您的脚本应该放在body标记的结尾处。外部脚本是阻塞的,因此这将是有意义的,我们不把它们放在顶部。另外,当您的script放在顶部运行时,您的DOM可能还没有准备好,这意味着脚本试图访问的任何元素可能根本不存在于DOM中,从而导致您的错误。

因此,所有的脚本都应该在body标记的结尾处。这样,当脚本加载和运行时,就可以确保DOM已经准备好了。

代码语言:javascript
复制
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" content="Index.css">

</head>

<body>
  <p id="demo">
    something
  </p>
  <script src="Script.js"></script>
</body>

</html>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37090314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档