# extendify/3.2.1/src/Shared/lib/embedded-guard.js

Extendify, version 3.2.1. 16 lines.

- Page: https://pluginprobe.com/plugins/extendify/3.2.1/code/src/Shared/lib/embedded-guard.js
- Raw: https://pluginprobe.com/plugins/extendify/3.2.1/raw/src/Shared/lib/embedded-guard.js
- Modified: 2026-06-11T18:37:12+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/3.2.1/code/src/Shared/lib/embedded-guard.js#L10-L20`.

```javascript
// Extendify's front-end surfaces (Quick Edit, the Agent, the simple toolbar)
// must never activate inside another tool's iframe. The Customizer preview,
// multilingual editors, and page-builder previews are all front-end renders,
// so the bundles enqueue and would otherwise mount — but Extendify only
// belongs on the live, top-level page. The live front end is always
// top-level, so a single `self !== top` check rules out every framed
// context, present and future.
export const isEmbedded = (win = window) => {
	try {
		return win.self !== win.top;
	} catch {
		// A cross-origin parent throws on `.top` access; that, too, is framed.
		return true;
	}
};

```
