我有3個加載JS文件下面的HTML頭:search.js,create.js和maps.js:只有一個JS腳本在頁面加載執行
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="/maps.css" />
<script
src="https://code.jquery.com/jquery-3.1.1.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=<my-key>=initMap"
async defer></script>
<script src="/search.js"></script>
<script src="/create.js"></script>
<script src="/maps.js"></script>
</head>
我也有以下的服務器端代碼:
var express =
require('express');
var path = require('path');
var app = express();
app.use('/', express.static(path.join(__dirname, 'static')))
app.get('/', function(req, res) {
res.sendFile(__dirname+'/index.html');
});
app.listen(3000, function() {
console.log('meetup listening on port 3000!')
})
時的index.html負載,客戶端似乎只能執行一個JS腳本
(通過登錄每個文件「腳本X加載」測試)。執行的腳本始終是加載到頭部的最後一個腳本。 (即如果<script src="/search.js"></script>
是最後一個,那麼控制檯將僅記錄'script search.js loaded')。執行的腳本始終按預期工作。其他腳本都在js控制檯中加載,但它們不會執行。對這裏有什麼問題有任何想法?
編輯:所有三個腳本看起來像
window.onload = (function(){
console.log('search.js loaded');
/*
*event handling and DOM manipulation logic here
*/
});
固定:用$(document).ready(function(){...});
我懷疑問題是與腳本的內容 – Quentin
使用瀏覽器開發工具的網絡標籤,你能否確認腳本的內容是正確的 –
是的,它似乎沒有緩存相關。小組有預期的內容。 – user3549700