Javascript Can';是否在不同的JS文件中访问JS函数?
我有以下代码:Javascript Can';是否在不同的JS文件中访问JS函数?,javascript,Javascript,我有以下代码: <!DOCTYPE html> <html> <head> <title>some_stuff</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="icon" type="img/ico" href="/
<!DOCTYPE html>
<html>
<head>
<title>some_stuff</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="img/ico" href="/some_stuff/favicon.ico">
<link rel="stylesheet" href="/some_stuff/stylesheets/main.css">
<body>
<script type="text/javascript" src="/some_stuff/javascripts/main.js"></script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=<MY_API_KEY>&callback=initialize">
</script>
</body>
</head>
</html>
出于某种原因,这会引发错误uncaughttypeerror:window.initialize不是浏览器中的函数
但是,如果我将代码更改为:
<!DOCTYPE html>
<html>
<head>
<title>some_stuff</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="img/ico" href="/some_stuff/favicon.ico">
<link rel="stylesheet" href="/some_stuff/stylesheets/main.css">
<body>
<script type="text/javascript" src="/some_stuff/javascripts/main.js"></script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=<MY_API_KEY>&callback=initialize">
</script>
<script>
function initialize() {
console.log("Initialized!")
}
</script>
</body>
</head>
</html>
然后一切都开始了。给出了什么?您可能没有引用正确的目录,请检查以确保为main.js
@TheShaman加载的脚本您的建议毫无意义。如果您将调试器
进入main.js
:它会在google maps sdk触发arror之前中断吗?是的,顺序不会影响回调。无论如何,我倾向于相信,只要加载脚本,您就会调用renderMap()
,幸运的是,异步js文件已经加载了。除此之外,我想知道“Initialized”
字符串是否被记录到控制台中。检查开发控制台网络面板中JavaScript文件的顺序。我只是随便看看,不知道为什么在同一个标签上有async
和defer
。这是关于它的信息。如果我是你,我会放弃async,然后再试一次。让我知道。我也对这个感兴趣。
<!DOCTYPE html>
<html>
<head>
<title>some_stuff</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="img/ico" href="/some_stuff/favicon.ico">
<link rel="stylesheet" href="/some_stuff/stylesheets/main.css">
<body>
<script type="text/javascript" src="/some_stuff/javascripts/main.js"></script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=<MY_API_KEY>&callback=initialize">
</script>
<script>
function initialize() {
console.log("Initialized!")
}
</script>
</body>
</head>
</html>
renderMap()