【发布时间】:2018-11-20 08:57:29
【问题描述】:
我在 Leaflet 地图中使用了多个地图切片提供程序,并希望在地图切片图层提供程序/站点上使用 DNS 预取来减少页面加载时间。但令人困惑的是,这些网站的 URL 使用不同格式的子域:https://{s}.tile.openstreetmap.org/,如 a.tile.openstreetmap.org 和 b.tile.openstreetmap.org。
var mapnik = L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
attribution: "© <a href='https://www.openstreetmap.org/copyright'>OpenStreetMap</a>"
});
var stamenT = L.tileLayer("https://stamen-tiles-{s}.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png", {
attribution: "Map tiles by <a href='https://stamen.com'>Stamen Design</a>, <a href='https://creativecommons.org/licenses/by/3.0'>CC BY 3.0</a> — Map data © <a href='https://www.openstreetmap.org/copyright'>OpenStreetMap</a>",
subdomains: "abcd"
});
我应该如何对这些外部资源使用 DNS 预取。我是否必须为每个子域使用link rel="dns-prefetch preconnect",或者我必须为单个域仅使用一个(例如仅使用:
<link rel="dns-prefetch preconnect" href="https://openstreetmap.org">
代替:
<link rel="dns-prefetch preconnect" href="https://a.tile.openstreetmap.org"><link rel="dns-prefetch preconnect" href="https://b.tile.openstreetmap.org">
等等)。
【问题讨论】:
标签: dns leaflet cross-domain subdomain prefetch