Šuplík Honzy Hučína

Skok na navigaci (menu)

Tento blog je v současné době uzavřen.
Pokračování blogu na bloguje.cz jsem zrušil. Pokud budu někdy pokračovat, bude to spíš tady.

Komentovaný článek

Internet a vše kolem
11. 8. 2004

Časovaný odkaz do budoucna

Bloger, který svým spotům zadává, odkdy se mají zobrazovat, se může setkat s následujícím problémem.

Napsal jsem článek, který se začne zobrazovat až později, například pozítří. Teď chci napsat jiný článek (a zveřejnit ihned), ve kterém bych na ten budoucí odkázal, načež míním odjet na několik dní pryč do hlubokých lesů. Co s tím?

Když zadám odkaz hned, samozřejmě zatím nikam nepovede a návštěvník se naštve. Měl bych tedy odkaz vložit až ve chvíli, kdy se začne budoucí článek zobrazovat, jenže to budu někde mimo internet. Řešením je skriptování.

Skriptovat kvůli jednomu odkazu na straně serveru (PHP, ASP apod.) mi připadá příliš komplikované. Snazší je to řešit skriptem na straně klienta, tedy nejspíš Javascriptem, který po dosažení určeného času začne odkaz zobrazovat. Postup je prostý:

  • Určitá část textu článku je proměnlivá a ošetřená skriptem.
  • Porovná se aktuální čas s předem nastaveným časem.
  • Pokud klientský počítač ještě nedosáhl nastaveného času, vypíše se pomocí document.write část textu bez odkazu.
  • Pokud klient už dosáhl nastaveného času, vypíše se také pomocí document.write část textu s odkazem.
  • Nezapomeneme na tag <noscript>, do něhož dáme část textu bez odkazu, abychom neodřízli prohlížeče bez Javascriptu.

Detailní provedení si můžete prohlédnout na příkladu.

Tento postup má ovšem svá úskalí právě kvůli skriptování na straně klienta. Posuny kvůli časovým pásmům by se měly ošetřit samy (je třeba nezapomenout při zadání času na GMT+0200 v létě a GMT+0100 v zimě), ale kdo zaručí, že má klient správně nastavený čas a datum? Rozdíly v řádech minut jsou zcela běžné, někteří bastliči mohou mít na virtuálním ciferníku cokoliv. To se ale nedá nic dělat. Rozumné je v každém případě nenastavit zobrazení odkazu na stejný okamžik, kdy se začne zobrazovat odkazovaný článek, ale nechat vůli nejméně několika hodin.

Další doporučený studijní materiál: javascript.internet.com

Vložit vlastní komentářNávrat k článkuRSS komentářů tohoto článku

Komentáře

[1] 11. 8. 2004, 21:58 – Endlife (Odkaz)

No, už tahle idea mi přijde poněkud scestná.. problémy s časem můžou být výrazné, ale hlavně - budu číst podruhé stejný příspěvek & když v něm bude upozornění, že se za dva dny zjeví odkaz - vzpomenu si na to za ty dva dny? 5ekl bych že uvidím v rss čtečce odtučněné (:-)) písmo & tím skončím..

[2] 12. 8. 2004, 08:23 – Honza Hučín (Odkaz)

Ad [1] Máš lepší návrh, jak to řešit?

[3] 16. 8. 2004, 22:13 – Pavel Rada (Odkaz)

Návrh bych možná měl... Nevím, v čem svůj blog děláš, ale já to řešil v našem redakčním systému a zapracoval jsem pomocí selského rozumu...

1) zadal jsem a a načasoval ke zveřejnění za 3 dny článek A
2) zadal jsem a zveřejnil článek B, do kterého by se hodil onen odkaz na budoucí článek A a zadal jsem čas expirace (ztažení článku) na den a hodinu, kdy se má zveřejnit článek A - 1 minuta
3) Zadal jsem článek C shodný se článkem B, ale s vloženým odkazem na článek A a nastavil jeho zveřejnění na den a hodinum, kdy s emá zveřejnit článek A - 1 minuta

Běžný čtenář změnu v podstatě nezaznamenal, vše broběhlo OK...

[4] 17. 8. 2004, 09:09 – Honza Hučín (Odkaz)

Ad [3] To je fikaný postup a z hlediska uživatele funguje. Má bohužel vadu v tom, že vyhledávače a agregující služby (weblogy.cz apod.) zaindexují oba dva články, přičemž jeden z nich bude mít (jakmile se objeví ten druhý) neplatnou adresu.

[5] 17. 8. 2004, 09:42 – Pavel (Odkaz)

V tom případě by to chtělo funkci, kterou mají v redakčním systému na iDnes - Tam umí nahradit jednu verzi článku novou verzí... Jen nevím, jestli to jde načasovat, budu se muset podívat :-)

[6] 17. 8. 2004, 10:11 – Honza Hučín (Odkaz)

Ad [4] Jde to samozřejmě zařídit automatickým skriptem, který v určenou chvíli přepíše v databázi text. Pokud se taková věc dělá častěji, může se napsání takového skriptu vyplatit - pokud to je jednou za půl roku, je podle mě jednodušší použít popsaný Javascriptový trik.

[7] 2. 4. 2005, 06:58 – Lena

Zajímalo by mě, jak by ten kód vypadal, když bych chtěla, aby ten odkaz byl zase po nějaké době nefunkční. Poradíte někdo?

[8] 4. 4. 2005, 08:35 – Honza Hučín (Odkaz)

Ad [7] Přidá se ještě jedna proměnná

var schovat= new Date('April 19, 2005 00:00:00 GMT+0200'); // nastaveni casu, dokdy se ma odkaz zobrazovat

a jedna podmínka

if (cas.getTime()>spustit.getTime() && cas.getTime()<schovat.getTime())

K tomuto článku není možné vkládat komentáře.

© Honza Hučín 2004–6

Šuplík běží na PIPNI.CZ. Díky!

sber.cermat.cz

RSS Šuplíku

RSS komentářů – souhrnně

U každého článku je samostatný RSS kanál pro komentáře.

Výběr článků

Posledních 10 článků

nebo podle data:

nebo hledání fulltextem:

Archiv všech článků

Poslední komentáře

Zabili mě, parchanti [2]

8. 8. 16:48 | Pepa

Cestou kolem blogu [2]

7. 8. 21:26 | Honza Hučín

Cestou kolem blogu [1]

7. 8. 21:02 | Honza

Vrtulník nad hlavou [3]

6. 8. 14:29 | Pepa

Taková hra na volby [1]

3. 8. 18:29 | Honza

Nejčtenější

Žádné údaje nejsou k dispozici.

O mně

*1967, absolvent MFF UK v Praze (1991)

statistik, analytik, programátor, učitel, hudebník

nyní Ústav pro informace ve vzdělávání

Životopis (RTF)

Napište mi