我正在使用 WordPress ACF 插件来创建重复器字段。中继器字段允许管理员向 Google map 添加多个标记。
当我们最初构建该网站时,它的设计目的是处理大约 20 个标记。此后,客户已添加了 150 多个标记。这意味着后端会加载 150 个 Google map 实例,从而降低速度。
有没有办法为每个字段实现异步 Google map ?
最佳答案
当浏览器解析传统的脚本标签时,它必须等待脚本下载、解析和执行,然后才能渲染其后的任何 HTML。然而,使用异步脚本,浏览器可以继续解析和呈现同步脚本之后的 HTML,而无需等待该脚本完成。当异步加载脚本时,会尽快获取它,但其执行会推迟到浏览器的 UI 线程不忙于执行其他操作(例如渲染网页)时为止。
另一个技巧是 maps.googleapis.com/maps/api/js
中的 JavaScript 文件是动态文件。服务器针对不同的参数响应不同的js文件。
function getScript(src) {
document.write('<' + 'script src="' + src + '"' +
' type="text/javascript"><' + '/script>');
}
当脚本同步加载时,浏览器会等待其完全加载,并且当脚本调用 document.write 时,文本将附加到正在加载的文档中。但是一旦文档完全加载,就会进行异步调用。当您使用“callback=initialize”加载js时,自执行函数已经包含初始化回调,以及可以异步加载更多脚本的修改函数。
找到此相关票证,讨论如何异步加载 Google map :Loading google maps asynchronously
关于javascript - 多个 Google map 会减慢 WordPress 管理速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37278645/