UNPKG

@nuxt/scripts

Version:

Load third-party scripts with better performance, privacy and DX in Nuxt Apps.

37 lines (36 loc) 1.04 kB
import { useRegistryScript } from "../utils.js"; import { number, object, string, union } from "#nuxt-scripts-validator"; export const MetaPixelOptions = object({ id: union([string(), number()]) }); export function useScriptMetaPixel(_options) { return useRegistryScript("metaPixel", (options) => ({ scriptInput: { src: "https://connect.facebook.net/en_US/fbevents.js", crossorigin: false }, schema: import.meta.dev ? MetaPixelOptions : void 0, scriptOptions: { use() { return { fbq: window.fbq }; } }, clientInit: import.meta.server ? void 0 : () => { const fbq = window.fbq = function(...params) { if (fbq.callMethod) { fbq.callMethod(...params); } else { fbq.queue.push(params); } }; if (!window._fbq) window._fbq = fbq; fbq.push = fbq; fbq.loaded = true; fbq.version = "2.0"; fbq.queue = []; fbq("init", options?.id); fbq("track", "PageView"); } }), _options); }