Мои Javascript и HTML-файлы с именем contents.js и page.html:Вызов функции Javascript из HTML файла
function sayHello() {
alert("Hello World")
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script type="text/javascript" src="contents.js" ></script>
<script>
window.onload = sayHello();
</script>
</body>
</html>
При запуске функции SayHello не вызывается. В консоли Фирефокса возвращает ошибку:
-SyntaxError: ожидаемое выражение, получило '<' contents.js: 1
ReferenceError: SayHello не определен
Оба файла сохраняется в той же папке. И я использую Node.js экспресс-проект в затмении, чтобы создать сервер:
var http = require('http'),
fs = require('fs');
fs.readFile('./page.html', function (err, html) {
if (err) {
throw err;
}
http.createServer(function(request, response) {
response.writeHeader(200, {"Content-Type": "text/html"});
response.write(html);
response.end();
}).listen(8888);
});
Почему я не в состоянии вызвать функцию «SayHello» в contents.js файле с файл page.html?
'window.onload = sayHello();' присваивает возвращаемое значение от 'sayHello' до' window.onload'. Что вы возвращаете? – Teemu
Вы забыли использовать триггерное событие. Как 'onload' или' onpageshow'. –