Appearance
Sandbox restrictions
Apps run in a blob-URL iframe sandboxed with allow-scripts allow-forms only. Same-origin and top-navigation are off, so several browser APIs throw or silently fail:
- Storage APIs blocked.
localStorage,sessionStorage,IndexedDB, and cookies all throw — there is noallow-same-origin. Don't reach forlocalStorageto survive refresh; it won't work. Persist per-user state in aprivateOfUser(self)table and shared state in a public table. - No top-level URL navigation.
window.location.href = …,location.assign, top-levelwindow.open,target="_top", and cross-originhistory.pushStateall fail. To switch apps, callPoe.open({ typeId, instanceId, openProps? })frompoe-apps-sdk. Outbound links work via<a target="_blank" rel="noopener">. window.location.originis"null". UsePoe.topOriginfor an absolute host URL.- No cross-frame DOM access. Reading the parent document or any other frame is blocked. Talk to the host via the SDK's
postMessagewrappers.