Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // A variety of Kartra Page Builder and Membership Builder (editor) detection strategies
- // In Membership Builder
- window.inMembershipBuilder ||= () => !!window.jsVars?.fonts;
- // In Page Builder
- // (But note that you can defer code execution to preview/live using tracking sections)
- window.inPageBuilder ||= () => { try { return parent.jsVars.isPageBuilder; } catch (e) {} };
- // -OR-
- window.inPageBuilder ||= () => { try { return parent.document.querySelector('body.builderUI'); } catch (e) {} };
- /*
- * inEditor() returns true if state indicates that the current frame or
- * its parent is Kartra back-end editing a (page or membership) asset.
- */
- window.inEditor ||= !(() => { try { return parent.document; } catch (e) { return document; } })().querySelector('head meta[name="description"]');
- /*
- * inEditor() returns true if state indicates that the current frame or
- * its parent is Kartra back-end editing a (page or membership) asset. As
- * of 2024-10-08, this works for K6 and K7 staging, beta, and production
- * pages & memberships. Likely more subject to change.
- */
- window.inEditor ||= () => location.hostname ===
- (jv => jv?.secureBaseUrl || jv?.secure_base_url)
- (window.jsVars || (() => { try { return parent.jsVars; } catch (e) {} })())
- ?.match(/\/([^/]+)/)[1] &&
- /\/(?:edit|sites)\/\d/.test(parent.location.pathname);
Advertisement
Add Comment
Please, Sign In to add comment