Skip to main content
Glama
useIframeClickInterceptor.tsx1.14 kB
import { MessageKey, mergeIframeClick } from '@intlayer/editor'; import { onCleanup, onMount } from 'solid-js'; import { useCrossFrameMessageListener } from './useCrossFrameMessageListener'; /** * Custom hook that intercepts clicks on the page and sends them via `postMessage`. * * This is useful in iframe contexts where you want the parent frame to know * about click events happening within the iframe. */ export const useIframeClickInterceptor = () => { const postClickEvent = useCrossFrameMessageListener<undefined>( MessageKey.INTLAYER_IFRAME_CLICKED ); onMount(() => { const handleClick = (_event: MouseEvent) => { // Send click event to the parent frame postClickEvent(); }; // Add click event listener to the document document.addEventListener('mousedown', handleClick); // Cleanup function to remove the event listener onCleanup(() => { document.removeEventListener('mousedown', handleClick); }); }); }; export const useIframeClickMerger = () => useCrossFrameMessageListener<MessageEvent>( MessageKey.INTLAYER_IFRAME_CLICKED, mergeIframeClick );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aymericzip/intlayer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server