javascript - 多个 Google map 会减慢 WordPress 管理速度

标签 javascript wordpress google-maps asynchronous google-maps-api-3

我正在使用 WordPress ACF 插件来创建重复器字段。中继器字段允许管理员向 Google map 添加多个标记。

ACF Repeater with Google Maps

当我们最初构建该网站时,它的设计目的是处理大约 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/

相关文章:

javascript - 获取 jQuery 对话框的 ID 并关闭它

javascript - 单击链接时全屏覆盖

php - 如何禁用WordPress的小部件 block 编辑器?

javascript - 如何在谷歌地图上显示方向后隐藏其他标记

javascript - 在 Chrome 中执行 applescipt 代码之前等待页面加载

javascript - 在 Excel JS Office 加载项的自定义函数中获取当前 URL

javascript - 使用文本地址的谷歌地图街景 map

ios - 在 Swift 中将城市名称转换为坐标

google-maps - 带有到达时间的 Google Maps Transit Directions URL,不使用 API

javascript - 检查两个值是否为负数