Állítsd be a szöveget, a színeket és azt, mikor jelenjen meg; élőben látod, és kimásolhatod a kész szkriptet. Nincs süti, nincs külső kérés, nincs függőség – bármilyen weboldalba beilleszthető.
Lépésről lépésre
Cím, szöveg és a gomb: másolható kuponkódot mutat, linkre visz vagy bezár; ha kell, „Nem, köszönöm” gomb.
Színek, lekerekítés, elsötétítés, középen vagy alul.
Asztalon kilépési szándék, mobilon gyors felgörgetés, idő vagy görgetés; késleltetés és „X naponta egyszer”.
Másold a kódot a weboldal </body> címkéje elé – WordPressben egy „HTML-kód” blokkba vagy a fejléc-lábléc bővítménybe.
GYIK
Igen, ingyenes, és regisztráció nélkül is használhatod. Belépve elmentheted a beállításaidat, és később folytathatod, akár másik gépen is.
A szkript nem használ sütit és nem küld semmit sehova; csak a böngésző saját tárolójába ír egy időbélyeget, hogy ne jelenjen meg túl gyakran. Ez a weboldal működéséhez szükséges, nem követő adat; a pontos megítélést az adatkezelési tájékoztatódban érdemes leírni.
Telefonon nincs egér, ezért ott a gyors felgörgetés (a visszalépés előtti tipikus mozdulat), egy megadott idő vagy egy görgetési arány indítja. Ezek közül választhatsz.
A Google bünteti a tartalmat azonnal eltakaró, tolakodó mobilos felugró ablakokat. Ezért alapból csak kilépéskor vagy késleltetve jelenik meg, és könnyen bezárható – így nem számít tolakodónak.
Válaszd a „Kuponkódot mutat” gombműveletet, és írd be a kódot (pl. UDV10): a gombra kattintva a kód megjelenik egy másolás gombbal, így nem kell hozzá külön oldal. Ha inkább a hírlevél-feliratkozásra vinnéd a látogatót, válaszd a „Linkre visz” lehetőséget, és add meg a saját oldalad címét.
Egy apró, halvány „Kódvéna” link a popup sarkában – ezért ingyenes az eszköz. Nem tölt be semmit (a logó a kódba van építve), nem követ és nem zavarja a látogatót.
Igen: dialógus szerepkörrel jelenik meg, a fókusz bekerül és bent marad (Tab), ESC-re és a háttérre kattintásra bezárul, és a fókusz visszakerül oda, ahol előtte volt. A mozgást csökkentett mozgás beállításnál kikapcsolja.
Eszközök
0 = minden oldalbetöltéskor (egyszer).
Útvonalak soronként; a * bármit jelent (pl. /blog/*).
Ez a pontos szkript fut az előnézetben, azonnal megnyitva. Kipróbálhatod a gombot, az ESC-et, a háttérre kattintást és a Tab-bal lépkedést; az előnézetben a link nem nyílik meg, csak kiírja, hova vinne.
<!-- Exit popup – https://kodvena.hu/eszkozok/exit-popup-plugin (nincs süti, nincs külső kérés) -->
<script>
(function(c){if(window.kvExitPopup)return;var W=window,D=document,shown=0,armed=0,prev=null,host=null;
function st(v){try{return v===undefined?W.localStorage.getItem(c.k):W.localStorage.setItem(c.k,v)}catch(e){return null}}
function wm(p,s){var q=s.split("*");if(q.length===1)return p===s;if(p.indexOf(q[0])!==0)return 0;var o=q[0].length;for(var i=1;i<q.length-1;i++){var j=p.indexOf(q[i],o);if(j<0)return 0;o=j+q[i].length}var z=q[q.length-1];return p.length-z.length>=o&&p.slice(p.length-z.length)===z}
function m(l){for(var i=0;i<l.length;i++)if(wm(location.pathname,l[i]))return 1;return 0}
function ok(){if(c.i.length&&!m(c.i))return 0;if(c.x.length&&m(c.x))return 0;var t=Number(st());return !(t&&c.n>0&&Date.now()-t<c.n*864e5)}
function close(){if(!host)return;host.remove();host=null;D.removeEventListener("keydown",key,true);D.documentElement.style.overflow=ov;if(prev&&prev.focus)prev.focus()}
var ov="";function foc(r){return [].slice.call(r.querySelectorAll("a[href],button")).filter(function(x){return x.getClientRects().length})}
function key(e){if(!host)return;var r=host.shadowRoot||host;if(e.key==="Escape"){e.preventDefault();close();return}if(e.key!=="Tab")return;var f=foc(r);if(!f.length)return;var a=r.activeElement||D.activeElement,i=f.indexOf(a);
if(e.shiftKey&&(i<=0)){e.preventDefault();f[f.length-1].focus()}else if(!e.shiftKey&&(i===f.length-1||i<0)){e.preventDefault();f[0].focus()}}
function show(force,nf){if(shown||(!force&&(!armed||!ok())))return;shown=1;st(String(Date.now()));prev=D.activeElement;host=D.createElement("div");host.setAttribute("data-kv-exit-popup","");D.body.appendChild(host);
var r=host.attachShadow?host.attachShadow({mode:"open"}):host;r.innerHTML="<style>"+c.c+"</style>"+c.h;ov=D.documentElement.style.overflow;D.documentElement.style.overflow="hidden";
r.querySelector("[data-kv-overlay]").addEventListener("click",function(e){if(e.target===e.currentTarget)close()});
[].forEach.call(r.querySelectorAll("[data-kv-close],[data-kv-ok]"),function(b){b.addEventListener("click",function(e){if(b.hasAttribute("data-kv-close")){close();return}
if(c.pv){e.preventDefault();var n=r.querySelector("[data-kv-nt]");if(n){n.textContent="Az \u00e9l\u0151 oldaladon ez a gomb ide visz: "+b.getAttribute("href");n.hidden=false}return}setTimeout(close,0)})});
var kb=r.querySelector("[data-kv-kupon]");if(kb)kb.addEventListener("click",function(){var bx=r.querySelector("[data-kv-kuponbox]");bx.hidden=false;kb.hidden=true;var mb=r.querySelector("[data-kv-masol]");if(mb)mb.focus({preventScroll:true})});
var mb=r.querySelector("[data-kv-masol]");if(mb)mb.addEventListener("click",function(){var kod=r.querySelector("[data-kv-kod]").textContent,s=r.querySelector(".kv-st");
function kesz(o){if(s)s.textContent=o?"A k\u00f3dot kim\u00e1soltuk.":"Jel\u00f6ld ki a k\u00f3dot, \u00e9s m\u00e1sold ki."}
function reg(){try{var t=D.createElement("textarea");t.value=kod;t.setAttribute("readonly","");t.style.position="fixed";t.style.opacity="0";D.body.appendChild(t);t.select();var o=D.execCommand("copy");t.remove();kesz(o)}catch(x){kesz(0)}}
try{if(navigator.clipboard&&W.isSecureContext)navigator.clipboard.writeText(kod).then(function(){kesz(1)},reg);else reg()}catch(x){reg()}});
D.addEventListener("keydown",key,true);if(!nf){var f=foc(r);(f.length>1?f[1]:r.querySelector("[role=dialog]")).focus({preventScroll:true})}}
var fine=W.matchMedia&&W.matchMedia("(hover:hover) and (pointer:fine)").matches;
setTimeout(function(){armed=1},c.d*1000);
if(fine&&c.ex)D.addEventListener("mouseout",function(e){if(!e.relatedTarget&&e.clientY<=0)show()});
if(!fine||c.all){if(c.t>0)setTimeout(function(){armed=1;show()},Math.max(c.t,c.d)*1000);
var ly=W.scrollY,lt=Date.now();W.addEventListener("scroll",function(){var y=W.scrollY,n=Date.now(),h=D.documentElement.scrollHeight-W.innerHeight;
if(c.sp>0&&h>0&&y/h*100>=c.sp)show();if(!fine&&c.up&&ly-y>80&&(ly-y)/Math.max(1,n-lt)>0.8&&y>200)show();ly=y;lt=n},{passive:true})}
W.kvExitPopup={show:function(o){show(1,o&&o.focus===false)},reset:function(){try{W.localStorage.removeItem(c.k)}catch(e){}shown=0}}})({"pv":0,"k":"kv-exit-ajanlat","h":"\u003cdiv class=\"o\" data-kv-overlay>\u003cdiv class=\"d\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"kvt\" aria-describedby=\"kvs\" tabindex=\"-1\">\u003cbutton type=\"button\" class=\"x\" aria-label=\"Bez\u00e1r\u00e1s\" data-kv-close>×\u003c/button>\u003ch2 id=\"kvt\">V\u00e1rj egy pillanatra!\u003c/h2>\u003cp id=\"kvs\">Iratkozz fel a h\u00edrlevel\u00fcnkre, \u00e9s az els\u0151 rendel\u00e9sedb\u0151l 10% kedvezm\u00e9nyt adunk.\u003c/p>\u003cdiv class=\"k\" data-kv-kuponbox hidden>\u003cdiv class=\"kc\">\u003cspan class=\"kk\" data-kv-kod>UDV10\u003c/span>\u003cbutton type=\"button\" class=\"km\" data-kv-masol>M\u00e1sol\u00e1s\u003c/button>\u003c/div>\u003cp class=\"ks\">Add meg a k\u00f3dot a p\u00e9nzt\u00e1rban \u2013 10% kedvezm\u00e9ny az els\u0151 rendel\u00e9sedb\u0151l.\u003c/p>\u003cp class=\"kv-st\" role=\"status\" aria-live=\"polite\">\u003c/p>\u003c/div>\u003cdiv class=\"a\" data-kv-akciok>\u003cbutton type=\"button\" class=\"b\" data-kv-kupon>K\u00e9rem a kedvezm\u00e9nyt\u003c/button>\u003cbutton type=\"button\" class=\"m\" data-kv-close>Nem, k\u00f6sz\u00f6n\u00f6m\u003c/button>\u003c/div>\u003cp class=\"kv-nt\" data-kv-nt hidden>\u003c/p>\u003cdiv class=\"kv-br\">\u003ca href=\"https://kodvena.hu/eszkozok/exit-popup-plugin?utm_source=exit-popup&utm_medium=widget\" target=\"_blank\" rel=\"noopener\" title=\"Ingyenes exit popup \u2013 K\u00f3dv\u00e9na\">\u003csvg viewBox=\"0 0 512 512\" width=\"12\" height=\"12\" aria-hidden=\"true\" focusable=\"false\">\u003cdefs>\u003clinearGradient id=\"kvlg\" x1=\"60\" y1=\"40\" x2=\"460\" y2=\"470\" gradientUnits=\"userSpaceOnUse\">\u003cstop offset=\"0\" stop-color=\"#22D3FE\"/>\u003cstop offset=\".5\" stop-color=\"#3B82F6\"/>\u003cstop offset=\"1\" stop-color=\"#8B5CF6\"/>\u003c/linearGradient>\u003c/defs>\u003cg stroke=\"url(#kvlg)\" stroke-width=\"108\" stroke-linecap=\"round\" fill=\"none\">\u003cpath d=\"M150 112V400\"/>\u003cpath d=\"M298 292L398 400\"/>\u003cpath d=\"M262 256L398 112\"/>\u003c/g>\u003c/svg>K\u00f3dv\u00e9na\u003c/a>\u003c/div>\u003c/div>\u003c/div>","c":":host{all:initial}*{box-sizing:border-box}.o{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,0.55);font:16px/1.5 system-ui,-apple-system,\"Segoe UI\",Roboto,Arial,sans-serif;animation:kvf .2s ease-out}.d{position:relative;width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow:auto;padding:28px 24px 22px;border-radius:16px;background:#ffffff;color:#111827;box-shadow:0 24px 60px rgba(0,0,0,.25);animation:kvu .25s ease-out;outline:none}h2{margin:0 28px 8px 0;font-size:22px;line-height:1.25;font-weight:700;color:inherit}p{margin:0 0 18px;color:inherit;opacity:.85}.a{display:flex;flex-direction:column;gap:8px}.b{display:block;width:100%;padding:12px 16px;border:0;border-radius:12px;background:#2563eb;color:#ffffff;font:inherit;font-weight:600;text-align:center;text-decoration:none;cursor:pointer}.b:hover{filter:brightness(1.08)}.m{padding:8px;border:0;background:none;color:inherit;opacity:.7;font:inherit;font-size:14px;cursor:pointer;text-decoration:underline}.x{position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:26px;line-height:1;cursor:pointer;opacity:.6}.x:hover{opacity:1;background:rgba(127,127,127,.15)}.k{margin:0 0 14px}.kc{display:flex;align-items:stretch;gap:8px;padding:6px;border:2px dashed #2563eb;border-radius:12px}.kk{flex:1;min-width:0;align-self:center;padding:4px 8px;font:700 20px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;overflow-wrap:anywhere;user-select:all}.km{flex:none;padding:8px 14px;border:0;border-radius:10px;background:#2563eb;color:#ffffff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.ks{margin:8px 0 0;font-size:14px}.kv-st{margin:4px 0 0;min-height:1em;font-size:13px;opacity:.75}.kv-nt{margin:12px 0 0;padding:8px 10px;border-radius:8px;background:rgba(127,127,127,.12);font-size:13px;overflow-wrap:anywhere}.kv-br{margin:14px -8px -10px 0;text-align:right;font-size:11px;line-height:1}.kv-br a{display:inline-flex;align-items:center;gap:4px;color:inherit;opacity:.55;font-weight:600;text-decoration:none;letter-spacing:.02em}.kv-br a:hover{opacity:.9}.kv-br svg{display:block}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:3px solid #2563eb;outline-offset:2px}@keyframes kvf{from{opacity:0}}@keyframes kvu{from{transform:translateY(12px);opacity:0}}@media (max-width:420px),(max-height:560px){.o{padding:10px}.d{padding:20px 16px 14px;max-height:calc(100vh - 20px)}h2{font-size:19px}p{margin-bottom:12px}.k{margin-bottom:10px}.kk{font-size:18px}.kv-br{margin-top:10px}}@media (prefers-reduced-motion:reduce){.o,.d{animation:none}}","ex":true,"up":true,"t":0,"sp":0,"all":false,"d":5,"n":7,"i":[],"x":["/kosar*","/penztar*"]});
</script>
kvExitPopup.show() megnyitja, kvExitPopup.reset() törli a gyakoriságot.