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

Flutter Web:如何借助回调监听器实现index.html延迟导入?

解决Flutter Web初始加载时间过长的方案

我之前碰到Flutter Web初始加载耗时太长的问题,为了尽可能缩短加载时间,我采用了延迟加载方案:减少index.html中的初始脚本调用,转而在页面中定义回调监听器,等到实际需要时再从Dart代码里触发调用。这个方法有效缩短了初始加载阶段的耗时。

index.html中的回调监听器

<script>
  function loadStripeScript() {
    const script = document.createElement('script');
    script.src = 'https://js.stripe.com/v3/';
    script.defer = true;
    document.head.appendChild(script);
  }
  function loadGoogleMapsApi() {
    const script = document.createElement('script');
    script.src = 'https://maps.googleapis.com/maps/api/js?libraries=places&key=YOUR KEY';
    script.async = true;
    script.defer = true;
    document.head.appendChild(script);
  }
</script>

Dart文件中的调用代码

import 'dart:js' as js;

// 加载JS脚本的函数
Future loadGooglePlacesWithDelay() async {
    await js.context.callMethod('loadGoogleMapsApi');
}

内容的提问来源于stack exchange,提问作者Nomixe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:18:23