Autor Zpráva
Camo
Profil
Prosím vás nepozná niekto nejaký online tut o JS. Ale ide o to, aby to bolo pre pokročilých.
Totiž prečítal som ich už niekoľko, ale väčšina sa venuje len takým prkotinám, ako je deklarácia premenných alebo cykly a tým to hasne.
Ja by som potreboval také veci ako je selectionstart, alebo createement a pod. Tiež ide o to, aby to bolo v SK/CZ jazyku, lebo na také veci si s mojou AJ netrúfam....
Vďaka za rady!
_es
Profil
Camo:
Treba odlíšiť od seba samotný programovací jazyk (pre JavaScript je to norma ECMA-262) a všetky ostatné veci.
Kto zvládne ten samotný jazyk dôkladne, tak zvládne tie ostatné veci aj so slabšou znalosťou angličtiny.
Zväčša ide len o nejaký zoznam vlastností, metód, udalostí a pod., niekedy aj odlišnosti pre rôzne prehliadače.
jj
Profil *
taky jsem hledal na netu tutoriály ohledně javascriptu, ale žádnej co sem našel mi nepřipadal dobrej.
Tož sem si sehnal tuhle knížku Odkaz (měl jsem ji v angličtině) a přišla mi dobrá. Nevím jak je to teda s českým překladem .. ale myslím, že by ti mohla pomoct
Camo
Profil
jj:
Tú knihu by som bral, ale nemám na to.
Pred týždňom som objednal jednu o PHP a na druhú budem musieť najprv naškrabkať.
_es:
To dosť zjednodušuješ, podľa mňa.
Práve tá nekompatibilita z JS robí úplnú nočnú moru(pre mňa určite).
Existuje ešte iný jazyk ktorý má podobné problémy?
Ale moja otázka stále ostáva rovnaká. Nejde mi o polemiku, ale o informácie...
breeta
Profil *
jj:
Nevím jak je to teda s českým překladem .. ale myslím, že by ti mohla pomoct


Mám ji doma a je tam opravdu vše co jsem potřeboval, jestli nějakou knížku o JS tak tuhle je to dobrá investice ...
Chamurappi
Profil
Reaguji na Cama:
Práve tá nekompatibilita z JS robí úplnú nočnú moru(pre mňa určite).
Není to tak strašné, jak se zdá na první pohled. Existuje pár klíčových nekompatibilit v DOMu, na které si stačí dát bacha, a pak hromada malých drobností, na které narazíš jen výjimečně. Je to podobné jako u CSS, až na to, že JS je programovací jazyk, takže většina záplat jde napsat chytře.

Základ (tj. ECMA-262) je podporovaný všemi nyní užívanými prohlížeči takřka dokonale.

Nejde mi o polemiku, ale o informácie...
Aha. Mno, pozdě :-)
Žádný osvědčený zdroj informací bohužel neposkytnu. (Nicméně před sedmi lety jsem chtěl nějaký stvořit.)
__construct
Profil
Chamurappi:
Nicméně před sedmi lety jsem chtěl nějaký stvořit.
A teraz nechceš ? Ručím Ti za to, že minimálne ja by som si to kúpil (pokiaľ to bude v knižnej podobe) :-) pretože osobne som tiež nenarazil na nejaký dobrý študijný materiál..
Chamurappi
Profil
Reaguji na __constructa:
Chci. Přesněji řečeno: chtěl bych sestavit ten nejúplnější referenční manuál HTML/CSS/JS/DOMu. Ale mám těch megalomanských plánů víc, takže to je běh na hodně dlouhou trať :-)
__construct
Profil
Chamurappi:
nejúplnější referenční manuál HTML/CSS/JS/DOMu.
Dovolím si citovať Ash-a z Votrelca :„I can't lie to you about your chances, but you have my sympathies.“ :-)
Camo
Profil
Celých SEDEM ROKOV?!
Treba si dať záväzok: Každý týždeň jedna kapitola...
A začal by som Javascriptom....
A za rok to bude kultová záležitosť ČSwebu.
Bude návštevnosť, pagerakn porastie ako z vody a všetky spätné linky budú smerovať na Webilon...
To je motivácia ako sa patrí...
_es
Profil
Camo:
To dosť zjednodušuješ, podľa mňa.
JavaScript (len norma ECMA 262-3) nie je až taký jednoduchý, ako sa snažia presvedčiť niektoré knihy.
Ak to má niekto málo osvojené, tak má potom z toho často zmätok.
No ak to má osvojené dobre, tak môže pochopiť vzorový kód z literatúry aj len zo samotného kódu.

Práve tá nekompatibilita z JS robí úplnú nočnú moru(pre mňa určite).
Existuje ešte iný jazyk ktorý má podobné problémy?
Samotný programovací jazyk - ECMA script medzi prehliadačmi nekompatibility skoro nemá.
Napríklad aj C je jednoduchší jazyk, no pre rôzne systémy má rôzne knižnice odlišné.
Alebo, čo tak rôzne varianty BASICu?:-)
peta
Profil
Zkus proletet odkazy ... a pak si najdi neco o jquery, ktere se snazi JS sjednotit, takze ti to usetri more prace.
http://peter-mlich.wz.cz/web/links.htm#js_literatura
Nejlepsi material jsou samozrejme priklady
http://peter-mlich.wz.cz/web/js/prjpw/index.html
Camo
Profil
Ešte sa spýtam(možno od veci), že či tá Ecma 262-3 je aktuálna a teda aký je vlastne rozdiel medzi JS a Ecmou. Ja som si myslel, že to sú dve rôzne veci.
Z toho čo čítam, mám dojem, že JS=Ecma 262-3
Chamurappi
Profil
Reaguji na Cama:
Bude návštevnosť, pagerakn porastie ako z vody a všetky spätné linky budú smerovať na Webilon...
Po ničem z toho nijak zvlášť netoužím. Je docela těžké mě motivovat.

Z toho čo čítam, mám dojem, že JS=Ecma 262-3
V podstatě jo. Formálně vzato jsou jazyky „JavaScript“ a „Microsoft JScript“ implentací standardu ECMAScript. Prakticky se tomu všemu říká JavaScript, abychom se snáze domluvili.
_es
Profil
Camo:
či tá Ecma 262-3 je aktuálna
Teoreticku je aktuálnejšia ECMA 262-5, no tá ešte nie je dostatočne implementovaná v novších prehliadačoch, zato ECMA 262-3 je implementovaná aj v dosť starých prehliadačoch.

aký je vlastne rozdiel medzi JS a Ecmou
ECMA script definuje len samotný programovací jazyk bez závislosti od prehliadača.
Kód nemusí bežať len v prehliadači, je to len všeobecný programovací jazyk.
Spĺňajú ho rôzne implementácie JavaScriptu napríklad aj JScript od MS.
Pod JavaScriptom je často myslené ECMA script + všetko ostatné prístupné zo skriptu.
Preto si treba vždy uvedomiť, v akom zmysle je ten názov použitý.
Camo
Profil
_es, Chamurappi:
Díky moc, už mi svitá...
Do akej miery sa asi Ecma odlišuje od implementácíí v prehliadačoch, resp. zaoberá sa Ecma aj takými vecami ako je createelement()/parentNode/DOM, alebo toto je už rozšírenie JS v súvislosti s prehliadačmi?
Teoreticky nájdem v našej knižnici aj niečo o Ecma 262-3? Resp. keď budem chcieť nejakú knihu o JS, tak to môže byť aj Ecma?
_es
Profil
Camo:
zaoberá sa Ecma aj takými vecami ako je createelement()/parentNode/DOM, alebo toto je už rozšírenie JS v súvislosti s prehliadačmi?
Nie ECMA script je len všeobecný programovací jazyk a takéto veci riešia iné doporučenia či normy.
ECMA script definuje základné príkazy ako if alebo for, operátory, dátové typy, správanie funkcií, objektov, polí, niektoré preddefinované globálne objekty ako Math a pod.
Napríklad vo Windowse môžeš v systéme spúšťať skripty JScriptu aj bez prehliadača, no tie majú k tomu ECMA scriptu iné rozšírenia než prehliadač, napríklad majú prístup na disk.

Teoreticky nájdem v našej knižnici aj niečo o Ecma 262-3?
Teoreticky možno, prakticky bude v nadpise JavaScript.
Camo
Profil
_es:
Teda práca s dokumentom a prístup k nemu, to už nieje kompetencia Ecmy? Ide hl. o to ako sa díva (a či sa díva) na jednotlivé elementy HTML dokumentu.
Minule som riešil takú vec s dynamickým pridávaním inputu (type-file) do stránky a dodnes nechápem poriadne prečo to nejde cez InnerHTML, ale musí to byť cer parentNode a firstChild-y, aby sa zachoval výber v predchádzajúcich inputoch. Toto mi asi Ecma nevysvetlí, či ano??
_es
Profil
Camo:
Toto mi asi Ecma nevysvetlí, či ano?
Nie, všetko, čo nejako priamo súvisí s prehliadačom sa tej normy netýka.

Minule som riešil takú vec s dynamickým pridávaním inputu (type-file) do stránky a dodnes nechápem poriadne prečo to nejde cez InnerHTML
Asi to ide, len tam máš nejakú chybu a nikomu sa to nechcelo vysvetľovať.
Ak by si to spravil nejako tak, aby sa neprepisovali staré inputy, tak by to išlo aj cez innerHTML.
Camo
Profil
_es:
,,Ak by si to spravil nejako tak, aby sa neprepisovali staré inputy, tak by to išlo aj cez innerHTML.,,
No tak na to by som sa pozrel :)
Inner to proste prepíše a na value tých inputov sa vykašle. Skús aspoň naznačiť ako presvedčiť ten innerHTML ako to brať do úvahy.
Je tu o tomto probléme dosť popísaného. Všetci to najprv skúšajú cez innerHTML, ale nakoniec skončia tak ako som písal.
Fakt by som sa pozrel.... :)

No tak dík všetkým ochotným dušiam a aj keď som sa nedostal presne k tomu čo som chcel, aspoň viem čo je Ecma....
.
.
_es
Profil
Camo:
Všetci to najprv skúšajú cez innerHTML, ale nakoniec skončia tak ako som písal.
Fakt by som sa pozrel.... :)
Myslím, že by to šlo tak, že by bol v jednom dive input a ešte prázdny div.
Pri pridaní inputu by sa prepísalo vnútro len toho prázdneho divu tak, aby tam bol nový input a ďalší prázdny div.
Myslím, že takto by to mohlo ísť.
Camo
Profil
_es:
No a čo ak budeš chcieť pridať ďalší input?
Také riešenia tu tiež boli, že si pripravíš dopredu niekoľko inputov, tie skryješ a keď treba tak ich odkryješ, ako by sa nič nedialo....:)
Myslím, že bez komplikovaného získavania a predávania value z predošlých inputov, pri každom innerHTML to nepôjde. A to by bolo FAKT KOMPLIKOVANÉ!
_es
Profil
Camo:
No a čo ak budeš chcieť pridať ďalší input?
Tak sa ten istý postup zopakuje.
Prečítaj si to znova, s pridaním inputu by sa pridal vždy aj prázdny div, na potenciálne pridanie ďalšieho inputu.
Takže by sa dali pridávať neobmedzene.

bez komplikovaného získavania a predávania value z predošlých inputov, pri každom innerHTML to nepôjde
Ale v inpute na vloženie súboru nejde cez skript zmeniť value. To je ten zásadný problém.
Ty si sa ho predtým pokúšal nepriamo zmeniť.
Camo
Profil
Aha už chápem, je tam teda vždy pripravený nový prázdny div do ktorého sa bude prípadne zapisovať v budúcnosti....
A tým value u input type file si si istý?? Že ho teda nejde zistiť/zmeniť cez JS?
_es
Profil
Camo:
A tým value u input type file si si istý?? Že ho teda nejde zistiť/zmeniť cez JS?
Nejde to z bezpečnostných dôvodov.
Ak by to šlo, tak by mohol skript odoslať obsah hocijakého súboru z disku na server bez vedomia návštevníka.
Chamurappi
Profil
Reaguji na Cama:
dodnes nechápem poriadne prečo to nejde cez InnerHTML
Představ si innerHTML jako dvě funkce. Tím, že do innerHTML něco nastavíš, se vykoná jedna z nich — která prožene nastavený HTML kód skrz parser prohlížeče (podobně, jako kdyby byl součástí dokumentu při načítání) a vytvoří na daném místě zcela novou strukturu DOMu. Tím, že z innerHTML zkusíš číst, se vykoná druhá funkce — ta se podívá na současnou strukturu DOMu a zkusí ji převést do HTML kódu. Takže zavoláš-li třeba:
formulář.innerHTML += "Ahoj!";
… můžeš si to rozepsat jako:
formulář.innerHTML = formulář.innerHTML + "Ahoj!";
… což si můžeš představit jako volání dvou funkcí:
formulář.nastavNovéInnerHTML(formulář.přečtiSoučasnéInnerHTML() + "Ahoj!");
To přečtení innerHTML není vždy úplně dokonalé, např. se do něj nepromítají události nastavované dodatečně skriptem a u některých prohlížečů mizí i další atributy. Zrovna u <input type="file"> je navíc i to bezpečnostní opatření, že nejde nastavit value. Při nastavení nového innerHTML se ignoruje úplně stejně, jako když ho napíšeš přímo do HTML kódu stránky.
Camo
Profil
_es, Chamurappi:
No tá bezpečnosť už dáva lepší zmysel....
To ma v tej súvislosti nenapadlo....
Chamurappi:
Vidím, že máš dnes dobrú náladu. Tak ochotne som ťa ešte písať kódy nevidel .)Dúfam, že ti to vydrží aspoň do mojej najbližšej návštevy.
Chystám sa renovovať svoju str. tak sa zrejme ozvem:)
Zatiaľ vďaka moc!
Pekný deň!

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0