Autor Zpráva
Zavy
Profil *
Zdravím,

Chci se zeptat jestli lze detekovat stisknutí tlačítka zpět (a vpřed)v prohlížeči následně zjistit adresu z historie kam se má stránka přesměrovat a nakonec po přesměrování znovunačíst stránku z historie .. pro detekci stisknutí tlačítek zpět a vpřed jsem našel pouze události onforward a onback které stejně dnes v žádnem prohlížeči nefungují, takže nevíte existuje nějaká alternativa .??

Děkuju za odpovědi.
_es
Profil
Zavy:
Chci se zeptat jestli lze detekovat stisknutí tlačítka zpět (a vpřed)
Asi ti ide o detekciu pohybu užívateľa v histórii prehliadania toho okna. Lebo pohyb v tej histórii je možný aj inak ako tými tlačítkami.
Najnovšie prehliadače majú, alebo budú mať, na to priamo udalosť.

v prohlížeči následně zjistit adresu z historie kam se má stránka přesměrovat
Nie, to z bezpečnostných dôvodov možné nie je.
Ako by sa ti páčilo, ak by mala každá webová stránka prístup k celej histórii prehliadania?
Zavy
Profil *
No chtěl jsem udělat asi něco následujícího:

při každém příchodu a odchodu návštěvníka na stránku se provede animace tudíž při události onload a onclik(na položky v menu) se vždy spustí animace.
Jenže uživatel může používat i tlačítka zpět a vpřed a mě nenapadá jakým způsobem to udělat aby se animace spouštěla i v těchto případech kdy uživatel klikne na zpět/vpřed.

Nenapadá tě nějaké řešení? onBack a onForward jsem se dočetl že jsou nepoužitelné tudíž hledám nějakou alternativu, která bude fungovat samozřejmě ve všech dnešních prohlížečích :)

Nebo dalo by se nějak pozdržet přesměrování stránky po stisku zpět/vpřed tak aby mohla probehnout animace.?
_es
Profil
Zavy:
mě nenapadá jakým způsobem to udělat aby se animace spouštěla i v těchto případech kdy uživatel klikne na zpět/vpřed.
sú aj udalosti onunload a onbeforeunload.
Zavy
Profil *
No dobře ale jakým způsobem potom spozdím to přesměrování ?

bude to vypadat dejme tomu takto ..

window.onbeforeunload = function(){

animace();

}

.. takto se animace nestihne provést jelikož se hned stránka přesměruje. Jak to bude vypadat tak aby se stránka přesměrovala až po dokončení animace ?
_es
Profil
Zavy:
No dobře ale jakým způsobem potom spozdím to přesměrování ?
V akom prehliadačí?
Zdá sa mi, že je tu určitý konflikt, návštevník smeruje na určitú stránku, no vlastníkovi pôvodnej stránky sa to nepáči a chce ho za to aspoň obťažovať nejakými animáciami.
Zavy
Profil *
no chci aby to fungovalo ve všech hlavnich prohlížečích IE v Mozille, Opeře .. Ne ta animace je jednoduchý grafický efekt který trvá 1-2 sekundy, takže určitě nechci nikoho ničím obtěžovat ;-)

ptám se je-li to možné a případně jak to udělat .. a jestli se dá zjistit adresa na kterou uživatel přechází aby se kdyžtak dala ta animace vypnout v případě že přechzí na jiné než mojestránky.
preca1
Profil
Má vůbec smysl tam tu animaci dávat? Pomůže to v něčem návštěvníkovi?

Existuje taky událost onload.

Detekovat, kam návštěvník de, lze pouze pomocí odkazů na tvý stránce. Pokud zadá do adresního řádku ňákou jinou adresu a dá entr, tak ty to nezjistíš
Zavy
Profil *
Animace mi funguje po klinutí na položky menu a myslím že je to docela pěkný grafický efekt .. určitě v ničem návštěvníka nezdrží .. je to jen takové grafické spestření pro lidi jako já kteří podobné věci ocení.. chci to použít na osobním webu který chci mít také co nejvíce graficky originální.

že existuje událost onload vím, ale tu jaksi pro můj případ nevyužiju .. potřebuju animaci provest pouze po kliknutí na jakékoliv tlačítko menu(což mi funguje tak jak chci) a po kliknutí na tlačítka zpět/vpřed internetového prohlížeče (což nevím jak detekovat) a když použiju událost onbeforeunload nebo onunload nevím jak dvousekundovou animaci vpasovat před přesměrováním resp. jak topřesměrování o ty 2 sekundy spozdit. Nepotřebuju animaci provádět po té co uživatel napíše jinou adresu do adresního řádku.
_es
Profil
Zavy:
nevím jak dvousekundovou animaci vpasovat před přesměrováním resp. jak topřesměrování o ty 2 sekundy spozdit.
Jediný spôsob, čo ma napadá, je spraviť tú animáciu tak, aby obsadila celý čas, teda nie cez časovače JS, ale neustále bežiacim cyklom.
A za to by ťa návštevníci asi nepochválili - ak by im tvoja animácia tak vyťažovala procesor a na dve sekundy zablokovala prehliadač.
A v Opere to asi ani nepôjde, tá, možno z takýchto dôvodov, tie udalosti veľmi nepodporuje.
Zavy
Profil *
Jo no ten neustále běžící cyklus samozřejmě použít nechci :) to je blbost .. no myslel jsem jestli by to nešlo podobně jako u přesměrování u odkazů .. to mám udělané následovně :

odkaz.onclick = function(){

animace(this.href);  // animace po svem okonceni provede presmerovani

return false; //zruší přesměrování
}


Právě jsem myslel že by mohlo fungovat něco podbného i při události onunload --> tudíž zrušit to přesměrování a zjistit adresu kam se přesměrovává .. to teda nelze ?
_es
Profil
Zavy:
zrušit to přesměrování a zjistit adresu kam se přesměrovává .. to teda nelze ?
Nejde, viazne to minimálne na "zjistit adresu kam se přesměrovává".
Čiastočne, len na zistenie predchádzajúcej stránky, by sa dala využiť vlastnosť document.referrer.
Zavy
Profil *
Hm .. no zjištění předcházející stránky nestačí. Takže animace v nekterých případech as oželím .. Ale měl bych další otázku. Dá se, když se vrátím na předchozí stránku, ta stránka znovu načíst .? Potřebuju, aby se mi vykonala funkce po události window.onload a ta událost asi nenastane když se vrátím na stránku, na které už jsem byl.
_es
Profil
Zavy:
Potřebuju, aby se mi vykonala funkce po události window.onload a ta událost asi nenastane když se vrátím na stránku, na které už jsem byl.
Ja myslím, že by tá udalosť mala nastať znovu.
Zavy
Profil *
NN nenastane mi .. nevím ale yslím že tam žádnou chybu nemám .. když ji otevřu poprvé tak window.onload nastane vpohodě, ale když se na tu stránku vrátím kliknutím na tl. zpět prohlížeče tak nenastane.. když dam aktualizovat tak opět nastane..
_es
Profil
Zavy:
O aký prehliadač ide?
Asi ide o to, že je stránka v pamäti a potom sa zobrazí len z pamäti, v rovnakom stave ako bola.
Možno by pomohlo priradiť tej stránke aj nejakú funkciu do window.onunload, to by mohlo tomu zabrániť, no nie som si tým istý.
Alebo môžeš funkciu vo window.onload zavolať aj explicitne: window.onload();
Zavy
Profil *
Jo když tam dám window.onload = neco; tak už to funguje. Díky za rady :)
Zavy
Profil *
nee .. samozřejmě window.onunload :)

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