Autor Zpráva
Vendy
Profil
Dobrý den a ahoj,
mám prosbu o radu, jak lze (či nelze) naprogramovat gif, který je vložený na stránce, aby při každém průchodu na další část webu opakoval totéž a nezůstal statický. V základním nastavení během jeho tvorby mám nastaven počet opakování, to je v cajku, ale bylo by zapotřebí, aby se opětovně přehrál, pokud se uživatel posune v rámci webu někam dál (třebas na článek).
Sice jsem zde ve fóru vlákno se stejnou tématikou našla, ale je staré 7 let a mnoho jsem se z něj nedozvěděla. Existuje nějaký html zápis, který by gif opětovně rozpohyboval?

Předem děkuji za každou radu (včetně "neexistuje"), Vendulka
mimochodec
Profil
Vendy:
Animovaný gif může být vytvořen tak, aby se animace provedla jen několikrát, nebo aby se prováděla opakovaně. Prohlížeče volbu "opakovaně" vcelku dodržují. S volbou "jen několikrát" nakládají vcelku kreativně. Vzpomínám, že jedna verze opery třeba animaci přehrála jednak po načtení stránky, ale taky když jsem na stránce sjel dolů, gif zmizel z obrazu a pak jsem se zase vrátil nahoru.

Když to shrnu, tak volba "jen x-krát" není moc spolehlivá. Každopádně z html kódu počet přehrání neovlivníš nijak. Ten gif je pro něj prostě jen obrázek.
Vendy
Profil
mimochodec:
Já ale neřeším, kolikrát se gif přehraje, to nastaveno mám při jeho vytvoření a funguje dobře.

Jde mi o to, že se člověk přihlásí na web, gif projede zadanou smyčku, zůstane na obrázku, který jsem zadala, aby byl posledním a je tak statický. Člověk si "jde" přečíst článek, tak na něj ťukne a stále tam uvidí tentýž statický poslední obrázek. Řeším tedy, zda jde nějak zadat příkaz, aby se i při pohybu webem gif opět rozjel od počátku.
mimochodec
Profil
Vendy:
Nerozumím, co přesně by ho mělo rozhýbat. "tak na něj ťukne" nebo "i při pohybu webem"? Animace se přehraje po načtení stránky, možná by šla spustit i pomocí javascriptu, který by zařídil znovunačtení obrázku.
Vendy
Profil
mimochodec:
tak na něj ťukne
Ťuknutí převádí uživatele na konkrétní stránku (ten gif je vlastně soubor bannerů, které "prodávají" myšlenky)

i při pohybu webem
Právě i při pohybu webem

Nejjednodušší bude to ukázat: Na tomto odkazu jde vidět, jak se ten gif chová. Tato stránka bývá zamčená, protože na ní různě testuji nastavení, tak se nikdo nelekej vzhledu i nedostatků ve všech oblastech. Aktuálně je gif nastavený na dvě opakování (ted 3x zobrazení), ale stáhnu to jen na dvě, ať to není nekonečný příběh.
mimochodec
Profil
Vendy:
Ťuknutí převádí uživatele na konkrétní stránku (ten gif je vlastně soubor bannerů, které "prodávají" myšlenky)

Jen malá vsuvka. Mám trochu problém s matoucími pojmy jako "převod na konkrétní stránku" nebo "průchod na další část webu". Jestli je to to, co se běžně provede kliknutím na odkaz někam jinam, tak jde o prosté otevření nové stránky. Všechno, co se s nějakým gifem na té dané stránce do té doby dělo, je zapomenuto stejně jako celá ta stránka. Otvírá se fungl nová, začíná nový příběh, s nějakým minulým gifem naprosto nesouvisející.

Dále: ten gif je pro mě jako návštěvníka standardní banner. Snažit se mu nastavit nějaké nestandardní chování mi připadá spíš škodlivé než přínosné. Nepřipadá mi jako dobrý nápad mít pod sebou velký banner na celou šířku a pod ním druhý bannierik, přičemž oba jsou klikací a odkaz z každého míří jinam.

Asi neodpovídám přesně na to, na co se ptáš, ale snad ti to k něčemu bude.
Vendy
Profil
mimochodec:
Jen malá vsuvka. Mám trochu problém s matoucími pojmy jako "převod na konkrétní stránku" nebo "průchod na další část webu".
Tak pardon, budu se snažit o jednodušší popis.

Dále: ten gif je pro mě jako návštěvníka standardní banner. Snažit se mu nastavit nějaké nestandardní chování mi připadá spíš škodlivé než přínosné. Nepřipadá mi jako dobrý nápad mít pod sebou velký banner na celou šířku a pod ním druhý bannierik, přičemž oba jsou klikací a odkaz z každého míří jinam.
Dobrá poznámka, ale tentokrát na ni nedám. Má to své důvody. 90% návštěvníků webu jsou pravidelní uživatelé a vědí, co je čím a proč :)
mimochodec
Profil
Vendy:
Tak pardon, budu se snažit o jednodušší popis.

To je v pořádku, jen jsem kvůli tomu úplně nepochopil, o co vlastně jde. Nemám teď poruce žádný nástroj, kterým bych to ověřil, ale vypadá to, že ten gif má nastaveno několik opakování. Takže po otevření stránky všechny ty framy proběhnou, pak se to zastaví. Je to tak? Co na tom není v pořádku?
Vendy
Profil
mimochodec:
...vypadá to, že ten gif má nastaveno několik opakování. Takže po otevření stránky všechny ty framy proběhnou, pak se to zastaví. Je to tak?
Ano, přesně tak to je. Jen počet opakování musím o jedno snížit, protože takto je to moc dlouhé.

Co na tom není v pořádku?
Když proběhnou všechna opakování, zůstane na konci obrázek (mnou nastavený), který je již statický. Ale když uživatel v tomto okamžiku rozklikne jakoukoliv část webu - rubriku, článek, stránku atd. -, stále vidí tento statický obrázek (Pokud rozklikne dříve, než gif doběhl na konec, dojede ten zbytek a zastaví se.).

Zjišťuji, zda jde nastavit tak, aby při každé akci na webu (rozkliku rubriky, článku ...) se načetl gif od počátku a opět projel celou smyčkou. Prostě pokud uživatel přijde přes hlavní stránku, uvidí gif od začátku, pak půjde dál do nějaké rubriky a opět uvidí gif od začátku, v rubrice přejde na článek a opět uvidí gif od začátku.
mimochodec
Profil
Vendy:
Nepotěším tě. Ten gif se mi v opeře chová přesně tak jak chceš (tzn. podle tvého posledního odstavce, tzn. v souladu s tím, co jsem psal o tom, že nová stránka není ovlivněna starou), ve vivaldim a firefoxu ten gif vůbec nevidím.
Trejpa
Profil
Vendy:
Problém tedy vidíš v tom, že se GIF přehraje jen na vstupní stránce a pak, na dalších stránkách, se už nepřehrává znova.

Vidím dvě varianty:
1) změnu obrázku/obrázků řešit skriptem,
2) přidávat do adresy obrázku náhodné znaky, aby se pokaždé stahoval a tedy i spouštěl.

První se musí naprogramovat, za druhý ti nepoděkují mobilní uživatelé s FUPem.
Vendy
Profil
mimochodec
Trejpa:

Na základě Vašich reakcí jsem to projela několika prohlížeči a je fakt, že někde se to chová tak, jak má, někde se nezobrazí a jinde se zasekne tam, kde člověk skončil. Prostě pokaždé něco jiného. Nejlepší cestou se ukazuje být spokojit se s tím, co je, a víc se v tom nešťourat (jinak si tradičně rozhodím víc věcí, než opravím).

Pánové moc děkuji za reakce. Prostě to zůstane tak, jak je :) Vendulka
mimochodec
Profil
Vendy:
Že se to nezobrazí, s tím se dá něco dělat. S tím, aby se to animovalo tak jak píšeš, se dá dělat málo.
Fisir
Profil
Reaguji na Vendy:
Alternativou by bylo udělat z GIFu video (které by pravděpodobně bylo i méně datově náročné), které se potom dá pohodlně ovládat JavaScriptem. Samozřejmě za předpokladu, že nevyžaduješ průhlednost.
Vendy
Profil
Fisir:
...které se potom dá pohodlně ovládat JavaScriptem. Samozřejmě za předpokladu, že nevyžaduješ průhlednost.
Průhlednost nevyžaduji, video bych z něj vytvořit mohla, ale rozhodně nemůžu říct, že ovládání JavaScriptem by bylo pohodlnější :) Tedy pro mne rozhodně ne.

mimochodec:
Že se to nezobrazí, s tím se dá něco dělat.
A dáš mi, prosím, tip, co dělat, aby se zobrazilo?
mimochodec
Profil
Vendy:
A dáš mi, prosím, tip, co dělat, aby se zobrazilo?

Já ani moc ne. Tohle je záležitost chyby v kódu, na to jsou tady mnohem lepší odborníci než já. Udělej si nové vlákno v sekci HTML, dej tam odkaz na tu problematickou stránku a uvidíš.
Fisir
Profil
Reaguji na Vendy:
nemůžu říct, že ovládání JavaScriptem by bylo pohodlnější
?
var gif = document.getElementById('gif');
gif.play();
Str4wberry
Profil
Ohledně přehrávání GIFů jsem psal tady: Video-záznam obrazovky do GIFu » Přehrávání

Teď mě ještě napadlo, jestli by se GIF nepřehrál znovu při změně innerHTML, ale funguje to jen ve staré Opeře 12. Nepomáhá ani obrázek vyhodit, vytvořit nový se stejnou adresou a vložit ho místo starého.

Jediná možnost, jak nějak řídit přehrávání GIFu, je stáhnout si ho AJAXem a v JS z dat obrázku získat jednotlivé snímky a ty potom kreslit do <canvas>u. To dělá ten: Video-záznam obrazovky do GIFu » Projekt <x-gif>
Vendy
Profil
mimochodec:
...na to jsou tady mnohem lepší odborníci než já...
Přesto děkuji. Ačkoliv jsem tentokrát nic nezměnila na základě Tvých poznámek, vytváříš mi dobré zpětné reakce a konstruktivní kritiku, čehož si vážím.

Fisir
Evidentně jsi tím chtěl ukázat jednoduchost kódu (pro mne je JavaScript stále nepochopitelný), ale na webu je nastaveno, aby tento malý banner (myšleno tento gif), v kterékoliv své části, při odkliku převedl uživatele na nějakou stránku, která se otevře v novém okně. Toto umím nastavit jen v html.

Str4wberry:
Děkuji za odkazy (uložila jsem si stránky rovnou do záložek "PC taháky"). Nicméně moc moudrá z toho nejsem. Nastaveno mám vše správně a tak, jak jsem zamýšlela, jen se to chová jinak, než jsem čekala.
Při odkliknutí další stránky, rubriky, článku atd. gif nejede od počátku - tuto část bych ještě přežila.
Není viditelný ve všech prohlížečích - toto mi leze na nervy a přesunu se s tímto dotazem do sekce html.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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