UNPKG

measurement-framework

Version:

Collection of Javascript code to implement a browser based measurement system for websites. It uses a cookie to store a users action on a webpage and let you map thoose actions to a particular state in the user journey.

37 lines (34 loc) 1.15 kB
import window from "window" import listen from "./helpers/listen" import dataLayerPush from "./helpers/dataLayerPush" import isJson from "is-json" function postMessageListner(postMessageCallback) { let status = {} /* browser capabilities check */ if (!window.postMessage) { status.error = 'cannot run this browser, no postMessage' return status } if (!window.JSON || !window.JSON.stringify || !window.JSON.parse) { status.error = 'cannot run this browser, no JSON parsing/serialization' return status } let lastLoadedUrl = "" listen("message", function (event) { console.log(event) if (isJson(event.data)) { let message = JSON.parse(event.data) if (message.event === "iframe.load") { if (message.iframeUrl !== lastLoadedUrl) { postMessageCallback(message) dataLayerPush(message) } lastLoadedUrl = message.iframeUrl } } else { console.log("Invalid event.") } }) return status } export default postMessageListner