如何在两个js文件加载完成后调用一个公共函数?
How to call a common function after both of the js files are loaded completely?
我想以集群的形式在地图上显示标记,为此我使用了 "markercluster.js" 和 google 地图 v3 库。但这里的问题是要在地图上显示标记,这两个文件都应该完全加载。一种解决方案是我同步加载至少一个文件,但我想使用异步和延迟加载这两个文件。有什么办法可以同时实现这两件事。目前我正在以这种方式加载文件,但是当 googleapi 在 markercluster 之前加载时,它开始在初始化函数中将 markerCluster 显示为未定义。
<script async defer src="js/markerclusterer.js"></script>
<script async defer src="//maps.googleapis.com/maps/api/js?v=3&callback=initialize"> </script>
您可以使用全局变量和 onload 事件。
<script async defer src="js/markerclusterer.js" onload="init()"></script>
<script async defer src="//maps.googleapis.com/maps/api/js?v=3" onload="init()"></script>
那么您的函数可能如下所示:
var g_file_loaded = 0;
function init()
{
g_file_loaded++;
if (g_file_loaded === 2)
{
// your initialize function here
}
}
我想以集群的形式在地图上显示标记,为此我使用了 "markercluster.js" 和 google 地图 v3 库。但这里的问题是要在地图上显示标记,这两个文件都应该完全加载。一种解决方案是我同步加载至少一个文件,但我想使用异步和延迟加载这两个文件。有什么办法可以同时实现这两件事。目前我正在以这种方式加载文件,但是当 googleapi 在 markercluster 之前加载时,它开始在初始化函数中将 markerCluster 显示为未定义。
<script async defer src="js/markerclusterer.js"></script>
<script async defer src="//maps.googleapis.com/maps/api/js?v=3&callback=initialize"> </script>
您可以使用全局变量和 onload 事件。
<script async defer src="js/markerclusterer.js" onload="init()"></script>
<script async defer src="//maps.googleapis.com/maps/api/js?v=3" onload="init()"></script>
那么您的函数可能如下所示:
var g_file_loaded = 0;
function init()
{
g_file_loaded++;
if (g_file_loaded === 2)
{
// your initialize function here
}
}