Sys-front-inj-dashboard Role¶
Description: Front-end JS injection notifying parent windows of iframe location changes and forcing external links into new tabs
Variables¶
author: Kevin Veen-Birkenbach
description: Front-end JS injection notifying parent windows of iframe location changes and forcing external links into new tabs
company: Kevin Veen-Birkenbach https://www.veen.world
license: Infinito.Nexus Community License (Non-Commercial)
issue_tracker_url: https://s.infinito.nexus/issues
min_ansible_version: 2.9
platforms: [{‘name’: ‘ArchLinux’, ‘versions’: [‘all’]}, {‘name’: ‘Debian’, ‘versions’: [‘all’]}, {‘name’: ‘EL’, ‘versions’: [‘all’]}, {‘name’: ‘Fedora’, ‘versions’: [‘all’]}, {‘name’: ‘Ubuntu’, ‘versions’: [‘all’]}]
galaxy_tags: [‘nginx’, ‘iframe’, ‘javascript’, ‘csp’, ‘security’, ‘postMessage’]
README¶
iFrame Notifier for NGINX¶
Description¶
This Ansible role injects a small JavaScript snippet into your HTML responses that enables parent pages to get notified whenever the iframe’s location changes and forces external links to open in a new tab.
Overview¶
This role injects a JS snippet into HTML to notify parent windows of iframe location changes and force external links to new tabs.
Cosmos¶
The diagram places iFrame Notifier for NGINX in the Infinito.Nexus cosmos: the components it deploys (capabilities), the central services it consumes (dependencies), and its outward reach (federation and bridged external networks).
flowchart LR
subgraph role [sys-front-inj-dashboard 💻]
svc_dashboard["dashboard"]
endSolid 1:1 edges are fixed relationships; dashed 0..1 edges are
conditional (enabled only in matching deployments); red 0..0 edges
are turned off in this role. Node markers show the role’s deploy modes
(💻 host, 🐳 compose, 🐝 swarm); ❌ marks a service that is explicitly
turned off, and ⚙️ an Ansible role dependency declared in
meta/main.yml.
Features¶
- Location Change NotificationUses
postMessageto inform the parent window of any URL changes inside the iframe (including pushState/popState events) for seamless SPA support. - External Link HandlingAutomatically sets
target="_blank"andrel="noopener"on links pointing outside your primary domain to improve security and user experience. - Easy CSP IntegrationCalculates a CSP hash for the injected script so you can safely allow it via your Content Security Policy.
Credits¶
Implemented by Kevin Veen-Birkenbach. Part of the Infinito.Nexus Project and maintained by Kevin Veen-Birkenbach. Licensed under the Infinito.Nexus Community License (Non-Commercial).