4 moduri de embed — alegerea contextului
**Iframe**: cel mai simplu — un `<script>` tag + un `<div>` și formularul randează inline pe site-ul tău. Responsive auto-resize. Util pentru pagini de contact, landing pages, intake. **Popup modal**: trigger pe click buton, formularul deschide modal cu backdrop blur. Conversion mai bună pentru CTA agresive. **Side-tab slide-in**: tab vertical fixat lateral («Feedback ▶»), click → slide-in panel. Util pentru feedback continuu. **Full-page redirect**: link normal către `/q/[slug]` Megaforms-hosted. Maximă conversion pentru formulare lungi care nu se potrivesc in embed.
Script tag embed — copy-paste o singură dată
Pentru orice mod, owner-ul ia snippet-ul din dashboard:
<!-- Iframe embed -->
<div data-megaforms-id="frm_abc123"></div>
<script src="https://cdn.megaforms.app/embed.js" async></script>
<!-- Popup trigger -->
<button data-megaforms-popup="frm_abc123">Programează</button>
<script src="https://cdn.megaforms.app/embed.js" async></script>
<!-- Side-tab cu prefill -->
<script>
window.MegaformsConfig = {
formId: "frm_abc123",
mode: "side-tab",
prefillToken: "eyJ..." // JWT signed server-side
};
</script>
<script src="https://cdn.megaforms.app/embed.js" async></script>JWT prefill — date pre-completate signed
Dacă utilizatorul tău e deja autentificat în app-ul tău, NU vrei să-l forțezi să retyp email-ul. JWT prefill rezolvă: server-ul tău generează JWT signed cu shared secret (configurat în Megaforms), payload include câmpurile prefill (`email`, `name`, `customer_id` etc.). Megaforms verifică signature, populează câmpurile, marchează-le readonly (anti-tampering). User vede formular cu primele câmpuri completate, sare direct la întrebări noi.
// Server-side genezisă JWT
import jwt from 'jsonwebtoken';
const prefillToken = jwt.sign({
form_id: 'frm_abc123',
prefill: {
email: user.email,
name: user.name,
customer_id: user.id
},
exp: Math.floor(Date.now()/1000) + 3600 // 1h expiry
}, process.env.MEGAFORMS_EMBED_SECRET, { algorithm: 'HS256' });
return { prefillToken };CSP + iframe sandbox compatibility
Embed-ul Megaforms funcționează cu Content-Security-Policy strict — definim explicit `frame-ancestors` whitelist per workspace pentru a permite embed doar pe domains autorizate. Pentru maximum security, owner poate restricți la specific origins. iframe-ul Megaforms rulează cu sandbox attributes `allow-scripts allow-same-origin allow-forms allow-popups`.
Analytics pe origine embed
Analytics dashboard arată per formular ce origins fac embed (rezultatul fetch HTTP Referer + window.location.host comunicat via postMessage). Util pentru a vedea ce site-uri îți fac embed (legit / unauthorized) și conversion rate per origine.