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

页面完全加载及依赖获取完成后,应使用哪个Nuxt Hook加载第三方JavaScript?

合适的Nuxt钩子推荐

如果你需要在页面完全加载、所有suspense操作和依赖获取完成后执行代码,推荐使用以下两个钩子,可根据场景选择:

  • page:finish:每次页面导航完成后触发,此时当前页面的所有异步数据获取、suspense组件的异步依赖都已处理完毕,页面内容完全渲染完成,非常适合在此时加载第三方JavaScript,确保不会干扰页面渲染流程。

    使用示例(在Nuxt插件中配置):

    export default defineNuxtPlugin(nuxtApp => {
      nuxtApp.hook('page:finish', () => {
        // 动态加载第三方JS示例
        const script = document.createElement('script')
        script.src = '你的第三方JS地址'
        script.async = true
        document.body.appendChild(script)
      })
    })
    
  • app:mounted:仅在应用首次挂载完成后触发一次,适合全局只需要加载一次的第三方脚本。该钩子会在初始页面的所有suspense操作完成后触发,确保初始页面完全渲染。

    使用示例:

    export default defineNuxtPlugin(nuxtApp => {
      nuxtApp.hook('app:mounted', () => {
        // 加载全局第三方JS示例
        const script = document.createElement('script')
        script.src = '你的第三方JS地址'
        script.async = true
        document.body.appendChild(script)
      })
    })
    

常规的window.load事件仅等待页面资源(如图片、样式表)加载完成,但Nuxt的suspense异步操作属于Vue组件渲染流程,可能在window.load触发后仍在执行,导致第三方脚本加载时机过早,无法满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 12:33:25