Starší komentáře ke článku: Alternativní styly - změna stylu pomocí JavaScriptu
Zpět na článek | Úvodní stránka Interval.cz
Datum vložení: 7.4.2004 9:04:18
Nebo styleSheets. Leo
Datum vložení: 7.4.2004 12:02:48
Problém při uložení cookie v opeře by mohla vyřešit třeba funkce escape, ne? Nemůžeš to přece takhle cpát natvrdo, co kdyby ten title ještě kromě českých znaků obsahoval i rovnítko nebo střední, to by byl teprve binec. Takže řešení - zabali řetězec před uložením do cookie pomocí fce escape a po vytáhnutí z cookie rozbalit unescape. A je vystaráno. Zkus se nad sebou zamyslet a polepšit se, lefty ;-)
Datum vložení: 7.4.2004 12:54:36
Escape je zbytecne ukecana. V cookie je zakazano jenom malo znaku, a je zbytecne prevadet ostatni - vsechno se to pak prenasi sem a tam. Staci vlastni osetreni. Leo
Datum vložení: 7.4.2004 14:05:43
To jak je escape ukecaná fce je úplně jedno. Svůj účel plní, tady bajtíky šetřit nemusíme a je to nejjednodušší řešení. Tady dělat vlastní ošetření není nutné. Co myslíš tím "stačí", když je to vlastně náročnější řešení? A navíc můžu do kódu zanést další chyby. Já říkám - "tady stačí escape".
Datum vložení: 7.4.2004 14:31:28
Narocnejsi pro koho? Linyho programatora? :-) Leo
Datum vložení: 7.4.2004 15:09:15
Někde jsem slyšel, že průměrný programátor (nebo jiný IT specialista) je velice líný - a např. o mě to platí dvojnásob ;-)
Ale teď vážně. Programátorské práce je hromada, a kdybych se se vším štval tak jako třeba v tomhle případě, tak bych nebyl moc efektivní. Vím, o čem mluvím, protože je to můj chleba. Není nutné hledat vždy nejdokonalejší řešení, takové totiž nikdy neexistuje. Je třeba najít kompromis mezi kvalitou výsledné aplikace a náklady na vývoj.
Datum vložení: 7.4.2004 15:10:27
Pozor, nejdokonalejší řešení musí existovat vždy, pouze nemusí být zároveň nejefektivnější ;-)
Datum vložení: 7.4.2004 16:46:58
No pak by mě ovšem zajímala definice dokonalosti. Já jsem si totiž dokonalost představoval jako dosažení nejlepší hodnoty ve všech možných kritériích ;-) A může jich být hodně. Jaké parametry/vlastnosti má podle vás mít dokonalé řešení? Můžete použít jako příklad tento konkrétní případ.
Datum vložení: 7.4.2004 15:50:23
Ja jsem hned myslel na to, ze kdyz uz bych to jednou delal, tak to udelam zrovna do tech fci pro praci s cookie, ktery budu pouzivat casteji. A pokud mam dlouhe cookie, tak se na server prenasi zbytecne mnoho znaku. Leo
Datum vložení: 7.4.2004 16:43:06
Hmm, já už webaplikace dělám hodně dlouho a dlohé cookie jsem ještě nepotřeboval. Btw myslím že escape jsem viděl i v nějakém příkladu v MSDN ale to je jedno, nechme už toho, dyť je to prkotina ;-)
Datum vložení: 7.4.2004 17:10:56
Ja jsme je nedavno potreboval a zrovna v JS, proto se param s detaily. Jinak mate pravdu, tady je to prkotina. Z MSDN bych si priklad nebral. Mimochodem, escape je vypustena ze standardu a misto ni se doporucuje encodeURI - ta ovsem nepracuje ve starsich prohlizecich. Leo
Datum vložení: 8.4.2004 7:46:50
Mozna, ze to bude trochu OT, ale escape a encodeURI se chovaji trochu jinak. Funkce encodeURI escapuje vzdy znak podle utf-8. Kdezto implementace escape se chova prazvlastne, spravne by se mela ridit podle kodovani stranky tak jak to dela Mozilla, ale IE(5.0 a 5.5) tvrdosijne escapuje prodle windows-1250.
Vysledkem je to, ze pokud neni kodovani stranky windows-1250, tak pro znaky >127 vraci escape v IE(5.0,5.5) a v Mozille dva naproste jine retezce. Proto bych doporucoval zasadne pouzivat metodu encodeURI, ktera je sice az od IE 6.0, ale chova se korektne. Pro starsi verze IE je treba si napsat vlastni funkci.
Datum vložení: 8.4.2004 10:20:39
Jestli to ale chápu správně, i když je stránka třeba v ISO, tak pokud provedu escape, a prohlížeč řetězec wezme jako win1250, stejně se zpětně rozloží při unescape na úplně stejný řetěyec jako původní, ne? Tedy samože na stejném prohlížeči. Váš argument, že escape vrací v IE(5.0,5.5) a v Mozille rozdílné řetězce je irelevantní, protože pokud vím, prohlížeče si cookies mezi sebou nepředávají ;-)
Datum vložení: 8.4.2004 11:32:56
V tomto pripade ano. Ale pokud se cookie predava na server a tam zpracovava, muze uz to vadit. Leo
Datum vložení: 7.4.2004 12:20:01
Myslím, že nepříjemnostem v Opeře by se dalo předejít tak, že se cookie nebude ukládat až při opuštění stránky, ale už při přepínání stylu. Obecně se mi navázání ukládání cookie na událost unload jeví zbytečně vzdálené logice toho skriptu.
Chápu, že byla snaha udělat co nejméně zbytečných akcí (proč nastavovat cookie, když to uživatel ještě může změnit), na druhou stranu javascriptové uložení cookie na klientovi je akce naprosto nenáročná a prakticky okamžitá. Takže doporučuji zahrnout volání createCookie() na konec funkce setStyle().
Datum vložení: 7.4.2004 14:09:20
Taky jsem nechápal ukládání cookie až při unload, ale pak mi to došlo - pokud by uživatel změnil styl v menu browseru, skript by se nezavolal a cookie by se neuložila.
Datum vložení: 8.4.2004 13:24:38
Aha, to mě nenapadlo, to je chytré.
Napadá mě to zkombinovat, ukládat cookie v obou případech. Při přepnutí stylu odkazem to vyřeší Operu a při opuštění stránek to vyřeší Mozillu přepnutou z menu.
Datum vložení: 8.4.2004 16:46:24
Průšvih je pořád, viz článek:
<I>To má za následek, že pokud uživatel změní styl přes menu, hodnoty atributů disabled zůstanou jako před změnou.</I>
Takže pokud se přepnu v menu v Opeře, skript u unload aktuální nastavení nemůže zjistit :(
Datum vložení: 8.4.2004 14:11:38
pres php to jde jednoduse a ve vsech browserech i v tech s vypnutym js
Datum vložení: 8.4.2004 14:37:03
Až si budete vybírat koloběžku, tak Vám také doporučím nějaké to BMW, auto přece jezdí lépe ;-)
Datum vložení: 10.4.2004 10:22:51
Ale proc montovat do BMW motor z TRABANTA. :o)
Datum vložení: 11.4.2004 23:27:46
Tady ale nikdo neřekl, že sedíme v BMW, nebo ano?
Datum vložení: 10.4.2004 3:07:51
Clanok ma velmi zaujal, som to vyskusal a riesenie sa mi velmi paci, len ma teraz zaujima ako script vyzeral pomozou PHP, bude pokracovanie vobec ???
Diky, cafte
Datum vložení: 10.4.2004 4:19:50
Staci cist:
".... Tato série článků dosud nebyla ukončena!"
Takze urcite bude ukazano i server-side reseni.
Datum vložení: 13.4.2004 11:16:54
neslo by uvest naky priklad jak je to zakomponovane v html ??
kam ten js dat?
<LINK href="styl1.css" type=text/css rel=StyleSheet>
<html>
<head>
<
</head>
<body>
<a href="s1">styl1</a>
<a href="s2">styl2</a>
</body>
</html>
Datum vložení: 28.5.2006 1:52:57
takto: [b] <head> " <link href="style1.css" type="text/css" rel="stylesheet" media="all" /> <script type="text/javascript"> <!-- sem pride js, ak ho chces mat priamo v dokumente //--> </script> <script src="script_v_externom_dokumente.js" type="text/javascript"></script> </head> [/b] Odporucam druhy sposob, tento script je dost velky A neodpustim si poznamku, naco niekto, kto nevie ani kam patri link na css, ide robit alternativne styly? Zbrazujte si source kody na pochopenie struktury. PS: neda sa to tu nejak normalne naformatovat? aj ked napisem " je to podciarknute a znicene co som napisal... http://www.vivo.sk/files/modules/module_autoportret.php?uid=1059
Datum vložení: 23.2.2007 20:41:22
Sem lama a nutne tohle potrebuju. Nemohl by mi nekdo ukazat priklad jak to zakomponovat. hlavne jak napsat ty styly jak je to s tema title jestli musi byt u kazdeho stylu nebo jen u hlavniho nabo jak?
Datum vložení: 2.3.2007 13:53:48
Tak mně to nechodilo v Mozille FF - a po přidání výše doporučené escape funkce mi to chodí. (Tím chci říct, že i Mozilla českou diakritiku bez escape sekvence nezvládne - někdo psal, že Mozilla to bez escape zvládne)
Datum vložení: 15.5.2007 18:50:51
mám udělaný 4 různý styly (*.js) a nevim jak je tam mám vložit do toho scriptu, kterej sem ztahnul z tohohle článku
Datum vložení: 16.5.2007 14:35:51
pardon sem se přepsal styly jsou v css
Datum vložení: 25.7.2007 21:23:57
dyť tu máš návod pro blbce...
Datum vložení: 25.7.2007 21:05:46
Dobrý den, mám dotaz... Mám dokument a uvnitř něho je vložený iframe. Když změním styl toho dokumentu, dokument načítaný v iframe se nemění (např. pozadí)... Nefunguje v MSIE, Mozilla Firefox funguje bez problémů, Opera má stejný problém, jako IE - načtení stylu z cookies se neprovede... Můžete mi poradit? Děkuji
Datum vložení: 14.11.2007 9:34:40
Iframe je proste problém. Ja som hladal riešenie na rôznych diskusiách, ale nič nefungovalo. Jediné riešenie zatiaľ je že sa [b]namiesto Iframe použije budto vkladanie Javascriptom, alebo metoda PHP-include.[/b]