Műsorújság
Sziasztok!
Weblapomra szeretnék csinálni egy műsorújságot, ami kábé fél óránként frissül, három adatot (mi megy most a tévében, mi következik, majd mi követi) és ne port.hu-s (vagy hasonló oldalról) legyen.
Tudnátok segíteni nekem?
A válaszokat várom, de lehet hogy nem megfelelő témában írta: elnézést még "új" vagyok.
Előre is köszi, az ötleteket.
■ Weblapomra szeretnék csinálni egy műsorújságot, ami kábé fél óránként frissül, három adatot (mi megy most a tévében, mi következik, majd mi követi) és ne port.hu-s (vagy hasonló oldalról) legyen.
Tudnátok segíteni nekem?
A válaszokat várom, de lehet hogy nem megfelelő témában írta: elnézést még "új" vagyok.
Előre is köszi, az ötleteket.
Honnan
Fizess
Így gondoltam
A műsor megvan, egy cseh honlapról lehet letölteni (cseh-magyar csatorna - egy műsor) ingyen, előre egy hónapra. A műsor egy külön fájlban lenne, de igen csak nem tudom megjeleníteni a lapon (meg egyáltalán nem tudok nekilátni ..), tudnátok segíteni, hogy hogy kéne? A képen látható módon idő szerint frissülne a box. talán frame-ben kéne elhelyezni de nem tudom. volna ötletetek? A honlapomon az egyik sávban jelenne meg!
Feldolgozás
Akár azt is csinálhatod, hogy a következő 12-24 óra műsorát is beleintegrálod az oldalba (például nem megjelenő HTML elemekbe [
display: none
]), és akkor majd JavaScripttel megjeleníted, akkor, amikor meg kell jelennie. Ebben az esetben nem árt az aktuális időt is elküldeni az oldalba ágyazott JavaScript-ben, ugyanis a kliens órája lehet más időzónában, illetve lehet nagyon pontatlan. Ezek után összehasonlítod az aktuális időt, a következő műsor kezdőidőpontjával, majd ennek megfelelően beállítasz egy időzítőt (setTimeout
), ami átrendezi a műsor elemeket (régieket elrejti [display: none
], újakat megjeleníti [display: block
]).Ha elfogyott az megjeleníthető műsor, akkor akár egy AJAX kéréssel lekérdezheted a szervertől a következő 12-24 óra műsorát (például HTML formájában), majd ezt beleinjektálod a jelenleg megjelenített listába, majd folytatod az előzőleg leírt folyamatot.
Tudom, hogy..
Tanulj
Csináltam neked egy mintát, ami nem hiszem, hogy sokat segítene, de hátha. Amennyiben kérdés van valamivel kapcsolatban, keresd fel az MDN illetve MSDN idevágó fejezetét.
Jól értem?
Semmi önkényeskedés
A HTML5 még nem szabvány,
Miért?
Gondlom pár hónapja még te se használtál CSS 2.1-et, mert csak júniusban fogadták el.
Egyrészt még messze van a
Ezenkívül még messze van a szabványosítása, másrészt minden böngésző más és más módon támogatja, és nincs pontos lista, hogy az egyébként gyorsan változó böngészők mit tudnak és mit nem. Ha egy nagyközönségnek készülő oldalt készítesz, és HTML5-öt használsz, érhetnek meglepetések, mint volt is erre példa nemrég itt, a fórumon (most hirtelen nem találom), mert bizonyos elemek nem biztos, hogy jól fognak megjelenni, nem úgy fognak működni, ahogy te elképzelted.
És valóban, nem használom a következőket a fenti okok miatt:
- CSS3: megoldható CSS2-vel a legtöbb probléma
- WebSockets: csak olyan helyen használnám, ahol kontrollálni tudom a böngészőhasználatot, azaz webalkalmazásnál
- web workers: nem volt még rá szükségem, ráadásul volt egy blogmark, miszerint bizonyos böngészőben web worker nélkül gyorsabb
- Canvas: a HTML 5 egyik legnagyobb tévedése a csak JS-ből irányítható elem
- Messaging, Geolocation: nem volt még rá szükségem
- audio/video: erre már léteznek tökéletes flash megoldások, és a flash támogatása 98%-os
- Storage: ezt használom, mert van rá crossbrowser megoldás
Ha tudod kontrollálni, hogy milyen böngészőben nézzék meg az oldalad/használják az alkalmazásodat, akkor azt használsz, amit akarsz. Ha nem (publikus weboldal), akkor viszont egy kereskedelmi oldalnál annyi százalék bevételtől esik el a céged, ahányan nem tudják használni az oldalad, amennyiben nincs valamilyen crossbrowser megoldás, hogy a piacon elérhető böngészők legalább 95%-ában tökéletesen működjön minden.
Úgy gondolom, hogy egy felelős webfejlesztő az utóbbi esetben (publikus weboldal) ma még nem ajánlhatja a HTML 5 használatát a fenti okok miatt.
Egyébként szerintem eleve rossz megközelítés a data-* attribútumok használata, hisz nem a HTML elemeket kéne adatokkal kidekorálni, hanem az adatokból kéne a HTML-t legenerálni, lásd ezt a hozzászólásomat.
Ha megnyugtat
Légy szíves, érdemben szólj
Megvalósítás
CSS3-at:
Canvast:
Messaging:
A HTML5 HTML felének nagy része visszafele kompatibilis illetve nem okoz problémát, és vannak rá cross-browser megoldások, hogy működjön régi böngészőkben.
Ezt nem teljesen értem. Olyan megoldás szükséges, ami használható JavaScript nélkül. A HTML generálását hogyan gondoltad, úgy hogy a szkript használni is tudja az adatokat, ugyanakkor szkript nélkül is használható oldalt kapjunk? Természetesen lehet hackelni például láthatatlan
SPAN
elemekkel, amiknek megfelelő osztálya van, de az se nem szebb, se nem optimálisabb megoldása a problémának. A KISS szemléletnek teljesen megfelelnek adata-*
attribútumok, és a HTML filozófiájától sem állnak távol.A web workeres blogmarkban levő eredmények nem elérhetők, így nem tudok arra reagálni. Ugyanakkor azt szem előtt kell tartani, hogy ugyan egyes böngészőkben "lehet" lassabb, de az nem indok arra, hogy ne használjuk, maximum azokban a böngészőkben nem (az elágazást úgy is meg kell csinálni, amíg a MS termékek nem frissülnek a felhasználóknál).
Mindenhol mások az igények. A
Nyilvánvalóan egy portálon nincsenek túl bonyolult megoldások, de azért egy rendesen megdizájnolt site-on egy igényesebb grafikus biztosan nem fog megelégedni a CSS3 által nyújtott lekerekítések és árnyékok minőségével; én ezeket a szegény ember photoshopjának tekintem, bár elismerem, hogy nem mindenki engedheti meg magának a drágább látványtervet.
A Canvas szerintem nagyon nem illik a képbe, ugyanis - tudtommal - csak scriptből lehet vezérelni, ami könnyen platformspecifikussá teheti, ugyanis, ha rosszul táplálod (azaz pusztán JS-sel), az általa megjelenített adatokat csak jelentős plusz munkával tudod kinyerni. Magyarul, ha nem markup az adatforrás, mint pl. az SVG-nél, akkor az olyan, mintha nem is létezne, azaz kereshetetlen, értéktelen. Emiatt nem valódi alternatívája a Flash-nek, bár már tenni ellene nem sokat lehet, de teljesen felesleges volt a kifejlesztése, jobban jártunk volna egy ingyenes Flash IDE-vel és egy futtatókörnyezettel.
A HTML 5 másik fele pedig teljesen fölösleges, mivel semmilyen többletinformációt nem hordoz a benne levő adatokról: <menu>, <header>, <nav> és társaik, a kutyát sem érdeklik. Ha arra ösztönöznének, hogy a megjelenített adatokról pontos metainformációt, valamint az adatok közti összefüggéseket megadjuk, akkor nem lenne egy szavam sem, de így csak arra jók, hogy a régi böngészők ne jelenítsék meg őket, és frusztrációt okozzanak sok embernek.
2004-2005 környékén találkoztam azzal a problémával, hogy a backenden (PHP-ban) különítsük el a programkódot a generált HTML kódtól, mert ezzel több legyet üthetünk egy csapásra. A PHP programozók tipikusan nem nagyon értettek a HTML-hez (ők végezték a ciklusok stb. bekötését), sok kommunikációt igényelt, hogy ki mikor dolgozhat rajta és így tovább.
Ezt akkor megoldottuk, mindenki számára nyilvánvaló, hogy sablonokat használtunk, és ez jónak is tűnik, amíg nem gondoljuk tovább a dolgot. Az interneten mérhetetlen mennyiségű információ van HTML formában, amit humán fogyasztásra terveztek, viszont ezt feldolgozni emberileg lehetetlen. Katyvasz az egész, lehet persze programot írni adatok website-okról való kinyeréséhez, de szinten minden oldalhoz más parser kell. Így rá vagyunk szorulva a szó alapú keresésre, ami rendkívül korlátos, tehát a neten elérhető információ nagyon kevés ezrelékét tudjuk csak felhasználni.
Amit én mondok az az, hogy a sablonok kezelését helyezzük át a böngészőbe, s szerintem a legmegfelelőbb technológia erre az XML + XSLT, ezt gyakorlatilag mindegyik támogatja. A webszerverek így egy nyers XML fájlt generálnának, amit minden adatfogyasztó arra használ, amire akar, valamint megtámogatjuk XSLT-vel, hogy az emberi olvasók, valamint a keresők is értelmezni tudják. (XSLT-vel egyébként generálhatsz JS-t is, ha szükséges, így válaszoltam arra a kérdésedre is.)
Két gondolat a HTML 5-ről:
1, szerintem túl nagy falat ez így egyben, és nagyon lassan halad a szabványosítás, úgy gondolom, hogy több részre kéne bontani
2, nem azért támadom a HTML 5-öt, mert annyira rossz lenne, vannak benne jó dolgok, az alkalmazásfejlesztés támogatása hiányzott, mint egy csepp víz a sivatagban; viszont úgy gondolom, hogy az áttérés a szemantikus, adat alapú webre nagyságrendekkel fontosabb a jövő miatt, mint <article> elemekkel bohóckodni.
Javagyúgy. HTML5-öt még nem
Előbb
Idézném a Vukból(?) az uhut:
:-)))
Kell olvasni a Weblabort, én
Félreétesz: én tudatosan
Ugyanis sokáig abban a hitben éltem, hogy HTML4 terén nem sok újat tudnak mondani a doksik, ennek ellenére, naponta botlom újdonságokba. Emellett, ha épp tart a lelkesedés, igyekszem JS-t, CSS-t, PHP-t, MySQL-t tanulni... ezt jobb nem kavarni egy olyan HTML-lel, ami még a legfelkészültebb böngészőkben is épphogycsak támogatott.
Nap mint nap a HTML alapú web
Mennyivel egyszerűbb lenne az adat alapú megközelítés, jelen esetben mondjuk így nézne ki bármelyik tévéműsorral foglalkozó oldal kódja:
<csatorna megnevezes="TV2">
<musor>
<cim>Ismeretterjesztő műsor</cim>
<kezdet>2011-08-01 17:30:00CET</kezdet>
<hossz>0:28:00</hossz>
<leiras>...</leiras>
</musor>
<musor>
<cim>Hírek</cim>
<kezdet>2011-08-01 18:00:00CET</kezdet>
<hossz>0:14:00</hossz>
<leiras>...</leiras>
</musor>
</csatorna>
</tvmusor>
Ezt a kódot egy egyszerű XML transzformációval úgy alakítja át bárki és úgy jeleníti meg, ahogy akarja.
A HTML-lel az a baj, hogy alapvetően dokumentum megjelenítésére és emberi fogyasztásra tervezték, azaz rengeteg olyan információt tartalmaz, ami a kinézettel kapcsolatos, és minden oldalra, amit gépileg akarunk feldolgozni, saját feldolgozót, parsert kell írni.
Jelentős kezdeményezés a schema.org, viszont ezzel is az a gond, hogy a HTML dekorálását ösztönzi, ahelyett, hogy magukra az adatokra helyezné a hangsúlyt.
Mi akadályoz meg?
Engem semmi, már egy ideje