Wide Angle plugin with working sample
This commit is contained in:
parent
8e400e1b62
commit
627d04c1a7
18 changed files with 1524 additions and 9 deletions
|
@ -1,3 +1,3 @@
|
|||
import WideAngle from './wideangle.js';
|
||||
import { initWideAngle } from './wideangle.js';
|
||||
|
||||
export default WideAngle;
|
||||
export { initWideAngle };
|
||||
|
|
|
@ -1 +1,31 @@
|
|||
export default {}
|
||||
function getScriptLink(settings) {
|
||||
return `https://${settings.domain}/script/${settings.siteId}.js`;
|
||||
}
|
||||
|
||||
function loadScript(settings) {
|
||||
return new Promise(function(resolve, failure) {
|
||||
const script = document.createElement('script');
|
||||
script.src = getScriptLink(settings);
|
||||
script.dataset.waaLateInit = true;
|
||||
script.async = true;
|
||||
script.onload = resolve;
|
||||
script.onerror = failure;
|
||||
document.head.appendChild(script);
|
||||
});
|
||||
}
|
||||
|
||||
async function initWideAngle(settings) {
|
||||
if(document === undefined) {
|
||||
throw Error("Wide Angle Analytics Plugin can be only used in the Browser");
|
||||
}
|
||||
try {
|
||||
await loadScript(settings);
|
||||
return waaCreate(settings);
|
||||
} catch (e) {
|
||||
console.error(`Failed to load Wide Angle script from ${getScriptLink(settings)}`)
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export { initWideAngle }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue