react-fbq
Version:
Package to add React Pixel Code in your project
55 lines (42 loc) • 1.32 kB
text/typescript
import Snippets from "./snippets";
import types from "../types/index";
let snippets: types.TagFunction = {};
const PixelCode = {
pixelCode(args: types.TagsSnippetsProps) {
snippets = Snippets.tags(args);
const script = (s) => {
const script = document.createElement("script");
script.innerHTML = s || snippets.script;
return script;
};
const noScript = () => {
const noscript = document.createElement("noscript");
noscript.innerHTML = snippets.noscript;
return noscript;
};
return { script, noScript };
},
initialize({ id, advancedMatching }: types.InitializeProps) {
const pixelCode = this.pixelCode({ id, advancedMatching });
document.head.insertBefore(pixelCode.script(), document.head.childNodes[0]);
document.head.insertBefore(
pixelCode.noScript(),
document.head.childNodes[0]
);
},
pageView() {
const pixelCode = this.pixelCode({});
document.head.insertBefore(
pixelCode.script(snippets.pageView),
document.head.childNodes[0]
);
},
track({ title, data }: types.TrackProps) {
const pixelCode = this.pixelCode({ title, data });
document.head.insertBefore(
pixelCode.script(snippets.track),
document.head.childNodes[0]
);
},
};
export default PixelCode;