私は単純なWebページを提供しようとしています。私のHTMLではフォームがあり、何かが検索されたときに結果が見つからないと単純に言いたいのですが。私がJavaScriptタグをhtml文書に挿入すると、divに値が設定されます。しかし、私が外部のjsファイルを使用するときはいつでも、それは実行されません。コンソールに何も記録されず、アラートが表示されません。ただし、リクエストURLを記録すると、/button_click.jsが配信されていることがわかるため、サーバーはこれらのファイルを提供しています。誰かがなぜこれが起こるのか説明できますか?ここに参照のための私のコードは次のとおりです。外部のJavaScriptが読み込まれますが実行されません
index.htmlを
<!DOCTYPE html>
<html>
<head>
<style>
body{background: skyblue; font-family: verdana; color: #fff; padding: 30px;}
h1{font-size: 48px; text-transform: uppercase; letter-spacing: 2px; text-align:center;}
p{font-size: 16px; text-align:center;}
</style>
<script type="text/javascript" src="button_click.js">
// if uncommented and without the src tag this seems to do the job
// function buttonClick() {
// document.getElementById('result').innerHTML = "No results found";
// return false;
// }
</script>
</head>
<body>
<h1> Welcome to the home page</h1>
<form id="form" onsubmit="return buttonClick()">
<input type="text" name="search"> <br>
<input type="submit" name="submit"> <br>
</form>
<p id = "result">
</p>
</body>
</html>
button_click.js
function buttonClick() {
console.log('in here');
alert("in here");
document.getElementById('result').innerHTML = "No results found";
return false;
}
UPDATE
マイコンソールは私のために予期しないトークンを提供しますlinの "<"エラー私のjsファイルのe 1。私がブラウザリソースを通してファイルをチェックしようとするとき、jsファイルは明らかに私のindex.htmlファイルとまったく同じです。それはjavascriptを含んでおらず、index.htmlの内容を持っています。どうしてこれなの?
私のすべてのファイルが同じディレクトリにあると私はwell.Hereとしてすべてのファイル名をチェックしては、参考のために私のサーバーファイルの内容は以下のとおりです。
server.js
const http = require('http');
const fs = require('fs');
const server = http.createServer(function(req, res) {
res.writeHeader(200, {"Content_Type": "text/html"});
var readStream = fs.createReadStream(__dirname + '/index.html', 'utf8');
readStream.pipe(res);
console.log(req.url);
console.log('served page');
});
server.listen(3000, '127.0.0.1');
console.log('Listening in port 3000');
src属性が存在する場合、スクリプトタグ間のコンテンツは無視されます。https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script – Teemu
ブラウザのコンソールをチェックインしてください任意のエラー? –
'document.onload();'の中にbutton_click.jsのコンテンツを囲み、それが動作するかどうかテストします。または、スクリプトのタグを '