useScriptTriggerConsent

useScriptTriggerConsent 函数的 API 文档。

在通过可解析的 consent 或调用 accept 方法提供同意后,加载脚本。

该触发器本身不会执行任何操作——脚本只有在通过调用 accept() 方法或提供解析为 trueconsent 选项时获得同意后才会加载。

函数签名

function useScriptTriggerConsent(options?: ConsentScriptTriggerOptions): UseConsentScriptTriggerApi {}

参数

export interface ConsentScriptTriggerOptions {
  /**
   * 一个可选的响应式(或 Promise)引用,表示同意状态。你可以使用它来代替调用 accept() 方法接受脚本的同意。
   */
  consent?: Promise<boolean | void> | Ref<boolean> | ComputedRef<boolean> | boolean
  /**
   * 是否应在 `requestIdleCallback` 回调中加载脚本。对于已同意加载的非关键脚本,这非常有用。
   */
  postConsentTrigger?: NuxtUseScriptOptions['trigger']
}

返回值

一个扩展的 Promise API,带有一个 accept 方法用于接受同意并加载脚本。

interface UseConsentScriptTriggerApi extends Promise<void> {
  /**
   * 一个可以调用以接受同意并加载脚本的函数。
   */
  accept: () => void
}

示例

基本用法

app.vue
<script setup lang="ts">
const trigger = useScriptTriggerConsent()
useScript('https://example.com/script.js', { trigger })
</script>

<template>
  <button @click="trigger.accept">
    接受同意
  </button>
</template>