You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何引入Google Places/Geocoding API避免Pagespeed未使用JS警告?

解决Google Places/Geocoding API引入后Pagespeed的「未使用Javascript」警告问题

Pagespeed的这个警告,本质是它检测到脚本加载了,但页面初始渲染后没有立即调用相关API代码。试试下面几个解决办法:

1. 按需动态加载脚本,绑定用户行为触发

把原来提前加载的脚本改成只有用户需要使用地址补全时才加载,比如监听地址输入框的focus事件,用户点击输入框再加载API:

// 获取地址输入框元素
const addressInput = document.getElementById('your-address-input-id');

// 监听输入框聚焦事件
addressInput.addEventListener('focus', () => {
  // 检查Google API是否已经加载过
  if (!window.google) {
    // 创建script标签动态加载API
    const script = document.createElement('script');
    script.src = 'https://maps.googleapis.com/maps/api/js?key=API_KEY&libraries=places,geocoding&callback=initAutocomplete';
    script.async = true;
    document.body.appendChild(script);
  } else {
    // 已加载过,直接初始化自动补全
    initAutocomplete();
  }
});

// 初始化地址自动补全的函数
function initAutocomplete() {
  new google.maps.places.Autocomplete(addressInput, {
    // 可根据需求加配置,比如限制国家
    componentRestrictions: { country: 'us' }
  });
}

这样脚本只会在用户真正要输入地址时才加载,Pagespeed就不会判定它是“未使用的JS”了。

2. 移除未用到的库

如果你的地址自动补全功能只用到了Places API的Autocomplete,根本没调用Geocoding API的接口(比如解析坐标、反向地理编码),那直接把libraries=places,geocoding里的geocoding删掉,改成libraries=places——减少加载的冗余代码,也能消除警告。

3. 确认初始化代码的执行时机

如果你的地址输入框是隐藏状态(比如需要用户点击按钮才显示),那原来的初始化代码可能根本没执行,导致加载的API脚本没被调用。这种情况要把初始化逻辑移到输入框显示之后再执行,确保API代码真正被用到。

内容的提问来源于stack exchange,提问作者O'Niel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:42:12