Javascript 我应该把Leavelt放在哪里-<;脚本>;HTML标记中的标记,我可以使用异步还是延迟?

Javascript 我应该把Leavelt放在哪里-<;脚本>;HTML标记中的标记,我可以使用异步还是延迟?,javascript,leaflet,Javascript,Leaflet,我有一个关于如何将传单最佳地集成到HTML文档中的问题 我读过: 如果我正确解释了这些信息,那么如果可能的话,您应该包含属性为async或defer的JavaScript。如果可能,您应该将Js文件放入-元素中 要显示地图,必须完全加载传单.js。因此,我不能使用属性“async”。但是我可以使用属性“defer”。集成传单.js的最佳位置是-元素 之后,我必须将我的单个JavaScript代码与defer属性集成在一起,以便它在传单.js之后执行 这是正确的还是使用“延迟”会有问题?是否有更好

我有一个关于如何将传单最佳地集成到HTML文档中的问题

我读过:

如果我正确解释了这些信息,那么如果可能的话,您应该包含属性为async或defer的JavaScript。如果可能,您应该将Js文件放入-元素中

要显示地图,必须完全加载
传单.js
。因此,我不能使用属性“async”。但是我可以使用属性“defer”。集成传单.js的最佳位置是-元素

之后,我必须将我的单个JavaScript代码与defer属性集成在一起,以便它在传单.js之后执行

这是正确的还是使用“延迟”会有问题?是否有更好的地方集成js文件?

我问这个问题,因为我在网站上的示例中没有看到这个属性async或defer。

谢谢你的回答


这是我运行时没有错误的示例代码:

<html>
  <head>
    <title>Eine OSM Karte mit Leaflet</title>
    <link rel="stylesheet" href="https://unpkg.com/leaflet@1.1.0/dist/leaflet.css" />
  </head>
<body>
<script src="https://unpkg.com/leaflet@1.1.0/dist/leaflet.js" defer></script>
  <div id="map" style="width: 600px; height: 400px"></div>
  <script src="mymap_99.js" defer></script>
</body>
</html>


交叉发布:

您的第二个脚本取决于加载的第一个脚本,这是正确的,但这并不意味着您不能使用
async

如果等待加载事件触发,则可以确保在尝试使用传单库之前已加载传单库:


麻省理工学院小册子
addEventListener('load',function()){
var map=L.map('map',
{
中间:[50.27264,7.26469],
缩放:10
}
);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png').addTo(map);
},假);

您的第二个脚本取决于加载的第一个脚本,这是正确的,但这并不意味着您不能使用
async

如果等待加载事件触发,则可以确保在尝试使用传单库之前已加载传单库:


麻省理工学院小册子
addEventListener('load',function()){
var map=L.map('map',
{
中间:[50.27264,7.26469],
缩放:10
}
);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png').addTo(map);
},假);

非常感谢您的回答。你知道为什么
传单
很少与属性
async
一起使用吗?@astridx我假设文档尽量简洁,并集中展示传单本身可以如何使用,并且假设用户熟悉可用于加载JavaScript代码的各种方法……非常感谢您的支持你的回答。你知道为什么
传单
很少与属性
async
一起使用吗?@astridx我假设文档尽量简洁,并集中展示传单本身如何使用,并且假设用户熟悉可用于加载JavaScript代码的各种方法…
var map = L.map('map',
{
  center: [50.27264, 7.26469],
  zoom: 10
});
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png').addTo(map);