Javascript 未捕获错误:必须在传单热图插件之前加载传单

Javascript 未捕获错误:必须在传单热图插件之前加载传单,javascript,jquery,leaflet,loading,Javascript,Jquery,Leaflet,Loading,我想创建一个热图使用热图JS和传单。但是,我一直在加载Javascript文件。我的控制台中的错误显示2次中有1次: leaflet-heatmap.js:23 Uncaught Error: Leaflet must be loaded before the leaflet heatmap plugin at leaflet-heatmap.js:23 at leaflet-heatmap.js:28 因此,有一半时间它确实正确加载,但另一半时间不正确 我试着在不同的线程中使

我想创建一个热图使用热图JS和传单。但是,我一直在加载Javascript文件。我的控制台中的错误显示2次中有1次:

leaflet-heatmap.js:23 Uncaught Error: Leaflet must be loaded before the leaflet heatmap plugin
    at leaflet-heatmap.js:23
    at leaflet-heatmap.js:28
因此,有一半时间它确实正确加载,但另一半时间不正确

我试着在不同的线程中使用不同的选项,但没有一个有效

<script src="<?=base_url()?>leaflet/leaflet-src.js"></script>
    <script type="text/javascript">
        var myScript = document.createElement('script');
        myScript.setAttribute('src', '<?=base_url()?>assets/js/plugins/heatmap.js');
        document.head.appendChild(myScript);

        myScript.onload = function() {
            var script = document.createElement('script');
            script.src = "<?=base_url()?>assets/js/plugins/leaflet-heatmap.js";
            script.async = true;
            document.head.appendChild(script);
        };
    </script>

您的脚本标记需要按特定顺序加载。首先需要加载传单.js。如果在脚本标记上使用async属性,则无法保证它们的加载顺序。要解决问题,请忽略async属性:

<script src="<?=base_url()?>assets/js/plugins/heatmap.js"></script>
<script src="<?=base_url()?>leaflet/leaflet-src.js"></script>
<script src="<?=base_url()?>assets/js/plugins/leaflet-heatmap.js"></script>

您的脚本标记需要按特定顺序加载。首先需要加载传单.js。如果在脚本标记上使用async属性,则无法保证它们的加载顺序。要解决问题,请忽略async属性:

<script src="<?=base_url()?>assets/js/plugins/heatmap.js"></script>
<script src="<?=base_url()?>leaflet/leaflet-src.js"></script>
<script src="<?=base_url()?>assets/js/plugins/leaflet-heatmap.js"></script>

我们会告诉你,你正在加载heatmap.js和slaple-heatmap.js,但你真的在加载slaple.js吗?看看这里的文档:我正在加载它,我忘了在代码中添加它!如果脚本标记中没有async属性,则不能使用Thread editedtry,如果您需要以特定顺序加载脚本,则不能使用该属性。我不敢相信,实际上是这样做的。。。非常感谢你!我已经把评论中的答案写成了一个真实的答案,如果它对你有帮助,请接受它。谢谢我们会告诉你,你正在加载heatmap.js和ployate-heatmap.js,但是你真的在加载ployate.js吗?看看这里的文档:我正在加载它,我忘了在代码中添加它!如果脚本标记中没有async属性,则不能使用Thread editedtry,如果您需要以特定顺序加载脚本,则不能使用该属性。我不敢相信,实际上是这样做的。。。非常感谢你!我已经把评论中的答案写成了一个真实的答案,如果它对你有帮助,请接受它。谢谢
<script src="<?=base_url()?>assets/js/plugins/heatmap.js"></script>
<script src="<?=base_url()?>leaflet/leaflet-src.js"></script>
<script src="<?=base_url()?>assets/js/plugins/leaflet-heatmap.js"></script>