script.js文件没有链接到带有脚本标记src属性的html文件

时间:2016-01-14 08:25:39

标签: javascript html javascript-debugger

enter image description here我是JavaScript新手。当我尝试以下代码时,我的js文件没有被链接,并且html页面中的JavaScript代码没有被执行: html和JavaScript文件都在同一条路径上。

我的HTML:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;>
<title>JS Code</title>
</head>
<body>
    HTML
    <script type="text/javascript" src="script.js">
    debugger;
    document.write("HI i am from HTML with js code")
    nowCall1();
    function nowCall1(){
        document.write("-Js.")
        //peakOil(changeCivilisationCallback); 
    }
    </script>
</body>
</html>

script.js:

function peakOil(callback) {
    document.write("HI i am from Js");
    callback();  // the parentheses mean the function is executed!

}

function changeCivilisationCallback(){
     document.write("HI i am from changeCivilisationCallback");
}

function nowCall(){
    document.write("Js.")
    //peakOil(changeCivilisationCallback); 
}

但是当我尝试删除scr属性时,所有代码都在html脚本中工作。为什么当我尝试将代码放入js文件时,它不会被执行。我在谷歌浏览器浏览器中遇到调试问题。

请提前感谢请帮助我理解javas cript。

4 个答案:

答案 0 :(得分:1)

如果脚本标记上存在src属性,则会忽略脚本标记的内容,因此您需要在单独的脚本标记上添加外部脚本。

<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
//code here
</script>

答案 1 :(得分:1)

您应该使用脚本标记链接到外部脚本文件,或者在标记内部编写代码,您不能同时执行这两项操作(当然,您可以使用多个脚本标记)。

您可以在w3schools上找到关于此的说明:

  

如果&#34; src&#34;属性存在,<script>元素必须为空。

答案 2 :(得分:0)

这是更正过的JavaScript。

来自HTML的JS代码:

document.write("HI i am from HTML with js code");
nowCall1();

function nowCall1() {
    document.write("-Js.");
        //peakOil(changeCivilisationCallback); 
}

的script.js:

function peakOil() {
    document.write("HI i am from Js");
}
peakOil();

function changeCivilisationCallback() {
    document.write("HI i am from changeCivilisationCallback");
}

function nowCall() {;
    document.write("Js.")
        //peakOil(changeCivilisationCallback); 
}

在HTML中,您应该以这种方式添加脚本:     

<script type="text/javascript">
    //the rest of the code
</script>

答案 3 :(得分:0)

在内容= "后,我错过了"text/html 在元标记上

通过此修正,它可以正常工作,

<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<title>JS Code</title>
</head>
<body>
    HTML
    <script type="text/javascript" src="script.js"></script>
    <script type="text/javascript">
    debugger;
    document.write("HI i am from HTML with js code");
    alert("test1"); 
    document.writeln("\ after alert");
    nowCall();
    alert("test2"); 
    </script>
    </body>
</html>

Keja,感谢您的工作,以及您的意见。