Iframe Blocking
Block embedded content (YouTube, social widgets, maps) until users grant consent for the appropriate category.
Embedded iframes from third parties (YouTube, Google Maps, social media widgets) can set cookies and track users without their consent. c15t provides two approaches to gate iframes behind consent:
<Frame>component - A React component that conditionally renders children based on consent- HTML
data-categoryattribute - For raw<iframe>elements outside of React
HTML Attribute Approach
For vanilla JavaScript, use data-category and data-src attributes on <iframe> elements:
When consent for the specified category is granted, c15t automatically swaps data-src to src, loading the iframe. When consent is revoked, src is moved back to data-src.
Dynamic Iframes
c15t uses a MutationObserver to watch for dynamically added iframes. Any iframe with data-category added to the DOM after initialization is automatically processed.
Initializing the Iframe Blocker
The iframe blocker for HTML attributes needs to be initialized after the runtime is created:
The blocker will scan the DOM for all <iframe> elements with data-category and manage their src/data-src based on consent state. It also sets up a MutationObserver to handle iframes added later.
Custom Placeholder
Build a consent placeholder with vanilla DOM that's shown when consent is not granted:
Cleanup
Destroy the iframe blocker when it's no longer needed (e.g., on page teardown in a SPA):