Autor Zpráva
marfy
Profil
Ahoj. Mám stránky s ubytováním a chtěl bych nějak zajistit, když lidi odchází ze stránky (zmážknou křížek, zmáčknou domovskou stránku atd...) prostě odejdou, zobrazil by se jim formlář s dotazem proč si u nás neobjednali pobyt.

Šlo by něco takového vymyslet? Děkuji

viz.: www.chata-sachovka.cz
kajaman
Profil
no, když odcházím z webu a vyplivne to na mě další formulář, považoval bych to osobně
za obtěžování. ale když myslíš .... snad by to šlo JS událostí onUnload
jso
Profil *
kajaman
ano, ale pozor na to, že onUnload nastane dle mého i při refreshi stránky.
marfy
Profil
snad by to šlo JS událostí onUnload
onUnload jsem zkoušel a ten se spustí ikdyž např. procházím menu

osobně za obtěžování
no když odejdou z webu o ubytování, tak se tam nejspíše už nevrátí, tak se jich aspon zkusím zeptat, proč o mé služby nemají zájem. (při nějakém neúspěchu bych to samo zrušil)
_es
Profil
marfy
onUnload jsem zkoušel a ten se spustí ikdyž např. procházím menu
Tak ho musíš vždy deaktivovať keď sa klikne na odkaz na stránke.
marfy
Profil
Tak ho musíš vždy deaktivovať keď sa klikne na odkaz na stránke.
To se dá udělat jak prosím? V javascriptu se moc nevyznám
_es
Profil
marfy
Napríklad:
<SCRIPT>window.onunload= function(){/*kód spustený pri onunload*/};</SCRIPT>
<a onclick="window.onunload=void 0;" href="./ubytovani-horni-becva.html">Ubytování</a>
marfy
Profil
Nějak to nemůžu zprovoznit, něco dělám špatně:

do hlavičky teda dám:
<SCRIPT>window.onload= function(){alert("Dokument je načten")};</SCRIPT> /*alert tam mám jen pro zkoušku*/


odkaz
<a onclick="window.onload=void 0;" href="./ubytovani-horni-becva.html">Ubytování</a>


při spuštění se mi to načetlo tak jsem do <body> dal:
<body onload="window.onload=void 0;">  /*aby se to neukázalo při načtení stránky*/


Všechno funguje jen se mi to u ostatních odkazů (kde nemám to onclick="window.onload=void 0;" nechce vyhodit tu hlášku


Dík za ochotu jsem fakt lama
Joker
Profil
marfy:
Nemá to být spíš onunload, než onload?
_es
Profil
marfy
Pardon, pomýlil som sa, malo tam byť samozrejme window.onunload
marfy
Profil
Tak jsem to změnil na onunload a když kliknu na ten odkaz, stejně to vyhodí tu hlášku... :-(
_es
Profil
marfy
Zmenil si to na oboch miestach aj v skripte aj v onclick?
marfy
Profil
ano, vypadá to takhle:

v hlavičce:
<SCRIPT>window.onunload= function(){alert("Dokument je načten")};</SCRIPT>

odkaz v menu:
<a onclick="window.onunload=void 0;" href="./ubytovani-horni-becva.html">Ubytování</a>
Bubák
Profil
nechce vyhodit tu hlášku
stejně to vyhodí tu hlášku
Nechápu.

Jak zobrazit formulář při odchodu ze stránek?
Nepletete si ti stránky (website) s konkrétní stránkou? Buděš mít tulhe opruzovačku na stránce A, přejdu na stránku B, a vyskočí opruzovací formulář. Třeba ho i vyplním a znova se kouknu na stránku A, z ní přejdu na stránku C a zase vyskočí opruzovací formulář. Moc pěkné, pošlu tě do míst, kde končí záda!
_es
Profil
Tá hláška by mal byť skôr "Dokument bude opuštěn", aby ťa to pri testovaní neplietlo.
Mne to funguje, pri kliknutí na odkaz hláška nenastane a pri zadaní nejakej inej adresy alebo po zavretí okna to dá hlášku.
marfy
Profil
Bubák
Teď to tu ale právě řešíme, aby ten script onunload, fungoval poze v případě, zmáčkne-li se křížek okna, nebo se zmáčkne domovská stránka...

Jenomže to zatím nefunguje, kliknu na odkaz a hláška se mi ukáže (neměla by), takže něco je asi špatně v: <a onclick="window.onunload=void 0;" href="./ubytovani-horni-becva.html">Ubytování</a>
Joker
Profil
Bubák:
Buděš mít tulhe opruzovačku na stránce A, přejdu na stránku B, a vyskočí opruzovací formulář. Třeba ho i vyplním a znova se kouknu na stránku A, z ní přejdu na stránku C a zase vyskočí opruzovací formulář. Moc pěkné, pošlu tě do míst, kde končí záda!
No tomu se právě snaží zabránit.

marfy:
Jenomže to zatím nefunguje
Nebyl by odkaz přímo na tu stránku?
marfy
Profil
Nebyl by odkaz přímo na tu stránku?
script co tu řešíme testuju doma ne na "ostro"

_es:


mohl bych tě poprosit abys mi to v indexu upravil aby to fungovalo? Ať to tu neřešíme týden než bych to pochopil. Děkuji

http://www.edisk.cz/stahni/50522/index.html_9.28KB.html
jso
Profil *
Zkuste vyzkoušet konstrukci:

<script type="text/javascript">
window.onbeforeunload = function (evt) {
  var message = 'Formular';
  if (typeof evt == 'undefined') {
    evt = window.event;
  }
  if (evt) {
    evt.returnValue = message;
  }
  return message;
}
</script>
_es
Profil
marfy
script co tu řešíme testuju doma ne na "ostro"

A čo ti bráni dať testovaciu verziu napríklad na www.chata-sachovka.cz/test/ a po čase to zmazať?
Asi nikto nebude ochotný si kvôli tebe sťahovať nejaké súbory na disk.
marfy
Profil
Zkuste vyzkoušet konstrukci:
S touto konstrukcí to je stejné (hláška mi vyskočí, ikdyž kliknu na odkaz v MENU)
marfy
Profil
A čo ti bráni dať testovaciu verziu napríklad na www.chata-sachovka.cz/test/ a po čase to zmazať?
Asi nikto nebude ochotný si kvôli tebe sťahovať nejaké súbory na disk.


jej to mě nenapadlo, za chvílo to tam bude na: www.chata-sachovka.cz/test.html
_es
Profil
Ešte môžeš vyskúšať iný prístup:
<SCRIPT>var x=1; window.onunload=function(){if(x){/*kód spustený pri onunload*/}};</SCRIPT>
<a onclick="x=0;" href="./ubytovani-horni-becva.html">Ubytování</a>
marfy
Profil
<SCRIPT>var x=1; window.onunload=function(){if(x){/*kód spustený pri onunload*/}};</SCRIPT>
<a onclick="x=0;" href="./ubytovani-horni-becva.html">Ubytování</a>

tak jsem to zkoušel a oba ty scripty fungují jak bych si představoval jen ve FF, v IE to vyhazuje hlášku hned ze začátku
_es
Profil
marfy
Ten posledný spôsob by ti predsa mal fungovať aj v IE, skús ho dať na tú testovaciu stránku.
jso
Profil *
marfy
Ano, toto tam není ošetřeno. Stačí implementace od _es, či něco podobného.
marfy
Profil
Ten posledný spôsob by ti predsa mal fungovať aj v IE, skús ho dať na tú testovaciu stránku.
Ten poslední reaguje na refresh, nešlo by to nějak ošetřit? jinak to funguje správně mám pocit
_es
Profil
marfy
S tým refreshom to zrejme nejako jednoducho nevyriešiš. Z bezpečnostných dôvodov asi nebude možné nejako zistiť, aká ďalšia stránka sa má načítať.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0