我是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。
答案 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,感谢您的工作,以及您的意见。