Diskuze: Open Window skrz CSS3
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 10 zpráv z 10.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
<table>
<td>..údaje..</td>
<td onClick="window.open('form.php?polozka=1'>Objednat</table>
Oprava
<table>
<td>..údaje..</td>
<td onClick="window.open('form.php?polozka=1');">Objednat</td>
</table>
Ahoj,
Proto se ptám jestli to nelze jinačí cestou. Například přes CSS, našel jsem toto " https://www.webdesignerdepot.com/…l5-and-css3/ " Akorát přemýšlím že v tomto případě by každá stránka, kde je daná položka musela obsahovat formulář. Což je zhruba dalších 300 řádků kódu.
Muzete pridavat na web javascript? Pak by stacilo te bunce dat napr class="klikaci" a jestli je potreba, tak data-polozka="XXX". V JS pak pro vsechny prvky tridy "klikaci" udelat event pro klik, kde se nacte data-polozka a zavola se ten window.open
Tuším kam směřuješ ale nejsem si jist jestli tě plně chápu, to bych
ten styl rovnou mohl požít pro odkaz a. Mohl bys uvést příklad v kódu?
Mám to totiž vedené přes php a formulář si bere údaj z které položky se
na něho zrovna odkázalo
viz:
..href="form.php?polozka=polozka1"..>
nebo jako jsem to měl teď
<..href="javascript:void(0);" onClick="window.open('form.php?polozka=polozka1')";...>
A právě přes ty styly si myslím že by to mohlo fungovat ale nevím přesně jak,
1] Kdyz neni odkaz odkazem, tak je lepsi pouzit button
2] Editor to prece smaze, tak onClick musis obejit tim, ze das buttonu tridu a
primo do tagu ulozis to, co potrebujes mit v kazde url jine
<button type="button" class="formklik" data-polozka="1">button</button>
3] za tabulkou vlozis js
$('.formklik').click( function(){ window.open('form.php?polozka='+$(this).attr('data-polozka'); } );
Tohle řešení by se mi i líbilo, ale ten editor mi ten script stejně maže. button nechá ale smaže script. Ale styly tam nechá v klidu. Zkusím to udělat přes ty styly (jak jsem posílal odkaz). Pokud se mi to povede postnu to sem.
A proc ten JS nedas jinudy kdyz muzes do php? Pres tinymce to samozrejme nejde kdyz si nepovolis tag script
Než jsem stačil postřehnout tvou připomínku na JS tak jsem se zabral do
toho CSS a mám to co jsem potřeboval. Díky za rady a popostrčení.
Přidávám kód kdyby někdo v budoucnu řešil obdobný problém a chtěl se
vyhnout JS.
Nejdříve styly viz. odkaz výše.
<style>
.modalDialog {
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0px;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,0.8);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}
.modalDialog:target {
opacity:1;
pointer-events: auto;
}
.modalDialog > div {
width: 820px;
position: relative;
top: 0px;
margin: 10px auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
background: -moz-linear-gradient(#fff, #999);
background: -webkit-linear-gradient(#fff, #999);
background: -o-linear-gradient(#fff, #999);
}
.close {
background: #606061;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: -12px;
text-align: center;
top: -10px;
width: 24px;
text-decoration: none;
font-weight: bold;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
-moz-box-shadow: 1px 1px 3px #000;
-webkit-box-shadow: 1px 1px 3px #000;
box-shadow: 1px 1px 3px #000;
}
.close:hover { background: #00d9ff; }
</style>
Následuje div s oknem samotným, ten můžete vložit úplně nahoru k head nebo až úplně dolu. Je jedno kam ho vložíte jelikož je skrytý.
<div id="openModal" class="modalDialog">
<div><a href="#close" title="Close" class="close">X</a> <iframe src="form.php?zbozi=zbozi15" height="900px" width="820px" scrolling="yes" noresize="noresize" frameborder="no"></iframe></div>
</div>
Poznámka: Abych nemusel na každou stránku kopírovat formulář do kterého bych ručně dopisoval parametry, vložil jsem PHP formulář který si je bere ze stránky za pomocí GET. Pokud by šlo o formulář pro jednu stránku (například LOGIN) tak samozřejmě nemusí být iframe ale rovnou form.
a poslední, v tabulce jsem pouze upravil odkaz:
<td>
<p><a href="#openModal" class="button" style="float: center; font-family:roboto; font-size: 20px; width: 200px">Objednat</a></p>
</td>
Zobrazeno 10 zpráv z 10.