2016-03-28 50 views
5

免责声明:我已经编程了整整15分钟。我试图跟随Lynda.com的Programming Foundations类,但我似乎无法将我的JS链接到我的HTML。它们位于同一个文件夹中。当我在浏览器上打开HTML文件时,我没有看到视频中的那个人弹出的JS弹出框。我究竟做错了什么?JavaScript将不会链接到HTML

这是我的HTML文件:

<html> 
    <head> 
     <title>Simple Page</title> 
    </head> 
    <body> 
     <p>This is a very simple HTML page</p> 
       <script src=“script.js”></script> 
    </body> 
</html> 

下面是在同一文件夹中的HTML文件标题为“的script.js” JS文件。

var name = prompt("What is your name?"); 
alert("Hello, " + name); 
+11

首先,尝试纠正你的报价。它应该是'“script.js”'。接下来,我建议你打开你的控制台(按F12)。这样做会非常有用,因为它会在出现问题时向您显示错误消息。这些消息是每个人用来确定为什么不起作用的信息。 –

+0

可能您需要document.ready函数来覆盖您的所有函数 –

+3

@LuanSoares否,完全错误。 A)他们没有使用jQuery。 B)他们没有访问DOM。 C)即使他们正在访问DOM,他们的脚本在所有的DOM被加载后都被加载。 –

回答

-1

链接到外部JavaScript文件应该在你的页面的head部分,像这样:

<html> 
    <head> 
     <title>Simple Page</title> 
     <script src="script.js"></script> 
    </head> 
    <body> 
     <p>This is a very simple HTML page</p>   
    </body> 
</html> 

而且,文件路径应该是相对于HTML文件的位置。所以,如果你在同一个文件夹中有HTML和.js文件,那么文件名是正确的。

确保两个文件都已保存,并且.js文件名与您在HTML文件中的名称完全相同。此外,使用直接引号(“”),你会得到一个文本编辑器,而不是使用Word等应用程序得到的格式化引号(“”)。

+5

不,事实上,如果可能,最好将它们放在身体的底部。 –

+2

@斯科特马库斯:是不是真的looong前... html5之前...? – yezzz

+0

@MikeC实际上,它确实有助于避免DOM访问错误(这很容易通过使用事件处理程序来克服),但将它们置于底部并不是最佳实践。在任何情况下,OP也没有做,他的脚本在身体中间轻拍,这从来没有建议。 –

1

解决您的报价用“不“。浏览器是无法解析您的HTML。使用开发者控制台在将来检查错误。

4

它的工作对我来说,当我改变了引号直的人。这不是

<script src="script.js"></script> 

:复制并粘贴此

<script src=“script.js”></script> 

让我知道,如果它

+0

工作!非常感谢!我使用Sublime作为我的文本编辑器。惊讶的是他们没有计入巧妙的报价。在我的Mac上,我进入了“系统首选项”>“键盘”>“文本”,然后取消选择“使用智能报价和虚线”。 –

0

试试这个笨蛋。它完全具有你的代码(甚至同名的script.js),除了我改变了引号字符并且它完美的工作。 使用Plunker测试你所有的js。

https://plnkr.co/edit/4Mw0RmWfblGp9U8gsuvx

<html> 
    <head> 
     <title>Simple Page</title> 
    </head> 
    <body> 
     <p>This is a very simple HTML page</p> 
       <script src="script.js"></script> 
    </body> 
</html> 
+1

已经有两个答案和一个提到这个的评论 –