Autor Zpráva
had
Profil *
Ahoj,
mám napsanou stránku, kde používám jquery - tedy potřebuju zapnutý javascript. Řeším to jednoduchou formou - v html mám:

<div id="js">Zapni si Javascript, prosím!</div>

a v jquery:
$("#js").hide();


vše funguje v pořádku - při vypnutém Javascriptu zobrazí hlášení, při zapnutém ho skryje. Já bych ovšem potřeboval zjistit, jestli je možné vyvolat nějaký externí script (třeba visual basic), které by detekovalo druh prohlížeče a v nastavení by javascript povolilo, aby se s tím nemusel ten člověk otravovat sám...?
Další problém, na který jsem narazil: v IE 8 jsem ručně zapínal javascript (nastavení ->nastavení internetu -> ... aktivní scriptování... povolit --- spousta návodů na internetu), restart prohlížeče, F5 stránky... přesto nic, javascript je stále vypnutý... nevíte, čím by to mohlo být?
Joker
Profil
had:
A co chudáci uživatelé kteří JS vůbec nemají?

Když už ho uživatel má vypnutý, asi pro to bude nějaký důvod. A pro prohlížeč je přání uživatele důležitější než přání stránky, takže stránka nemůže proti uživatelově vůli zapnout JS.
Bubák
Profil
had:
vše funguje v pořádku
Vypni si styly, a uvidíš, že vše nefunguje tak, jak si myslíš. Přitom to jde mnohem jednodušeji a spolehlivěji:
<noscript>Zapni si Javascript, prosím!</noscript>
had
Profil *
Joker: uživatelé, kteří nemají javascript? v dnešní době...? takové prohlížeče vůbec existují (pomineme-li mobilní telefony)???
Uživatel nemusí mít důvod k tomu, aby si ten javascript vypnul. Některé prohlížeče ten javascript mají v základu vypnutý.
Například já teď nechápu, proč se mi sám od sebe v IE vypnul javascript... to je zvláštní, že? Koukal jsem do nastavení...aktivní scriptování je povoleno, přesto to však nefunguje...? Přitom odpoledne, ještě předtím, než jsem šel na volejbal, tak ten javascript zapnutý byl...
Co se týče přání uživatelů...mě se třeba nelíbí úvodní vyskakovací okno, když zapnu IE kde musím nejdřív odkliknout "dále" nebo "odložit na později"... myslíš, že je přáním uživatelů většiny uživatelů, aby odesílali firmě Microsoft nějaké informace???

Bubák: hm...souhlasím, přepíšu konkrétně tohle.
_es
Profil
had:
Uživatel nemusí mít důvod k tomu, aby si ten javascript vypnul.
Napríklad užívateľ notebooku idúceho na baterku, ak navštívi web s nejakou otravnou animáciou, vyťažujúcou naplno procesor.
Chamurappi
Profil
Reaguji na hada:
mám napsanou stránku, kde používám jquery - tedy potřebuju zapnutý javascript
Na rozumně napsané stránce nepotřebuješ. O co tak zásadního uživatel bez JS přijde na té tvé — a proč?

uživatelé, kteří nemají javascript? v dnešní době...?
Stejně jako v kterékoliv jiné. Proč by měla být situace jiná? Jen proto, že se JS víc využívá? Webů, bez kterých se uživatel neobejde a které se bez JS neobejdou, není mnoho.
Složitější webové aplikace pro specificikou cílovou skupinu (např. nějaká administrační rozhraní) můžou být na JS víc závislé, ale u běžné stránky k tomu není důvod.

Například já teď nechápu, proč se mi sám od sebe v IE vypnul javascript... to je zvláštní, že?
Ani ne, předpokládám, že jsi zapomněl, že máš zakázaný „aktivní obsah“ na lokálně spouštěných souborech a že jsi tenhle stav testoval před tím, než jsi šel na volejbal, na webovém souboru a po odchodu na volejbal jen na lokálním souboru.

Co se týče přání uživatelů...mě se třeba nelíbí úvodní vyskakovací okno
Nechápu logiku za touto úvahou. To, že uživatele může štvát okno (které se ukazuje při spuštění jen do té doby, než si uživatel skrz „dále“ nastaví parametry), přeci neznamená, že můžeš ignorovat jejich přání v oblasti povolení JavaScriptu. Nemůžeš — ve smyslu „nejde to“. Je to nesmysl, stránka nemá právo měnit takto zásadní parametr.
1Pupik1989
Profil
Web, který javascript vyloženě potřebuje, asi nic hezkého ani pro vyhledavače. Při přeplácání javascriptem taky kolikrát vyskočí hláška o nebezpečné stránce. U formuláře je hezké si třeba ověřit, zda-li je vše vyplněno, ale to samé se musí udělat i ze serverové strany. javascript nemá sloužit jako nutná podmínka, nýbrž zkrášlení, či ulehčení. jediný problém jsem měl u chatu, ale vyřeší to buď iframe nebo hláška o vyplém javascriptu.
had
Profil *
Ahoj,
Chamurappi:
rozumně napsaná stránka:
jedná se o jednoduchý chat - ovládání stránky je za pomocí jquery, který na pozadí odesílá post na PHP scripty pracující s databází. Jakým jiným způsobem zajistit automatický reload dat ze serveru, pokud nechci načítat celou stránku znovu? Tag meta s refresh opravdu nechci a rámy jsou už pár let out, jestliže chceme mluvit o nějaké efektivitě používání.

vypínání javascriptu v IE:
ne, všechny testy probíhali online (aplikace je na http://had.signaly.cz/chat/).

přání uživatelů:
pokud vyvíjím aplikaci, chci, aby uživatele pokud možno neobtěžovala a byla pro něj na první chmátnutí pohodlná a přívětivá. Všichni víme, jak otravný je, když vlezu například na nějakou stránku, kde mě vyskočí 3 reklamy (které musím odkliknout) a vnucuje mi to registraci jen kvůli tomu, že chci napsat komentář ke článku, který mě zajímá... stejně tak jako opisování captcha...
bohužel ale spíš výrobci programů koukají jen na zisk a množství aplikací, nikoliv na spokojenost uživatelů. (toť můj dojem - proč například Microsoft neopraví svůj prohlížeč tak, aby konečně akceptoval všechny standardy pro prohlížení webových stránek - neudělali by lépe, když by opravili základní nedostatky IE a potom teprve se snažili o nějakou efektivitu...? k čemu bude v praxi prohlížeč, který není schopen zobrazit webovou stránku, ale hlavně, že umí dělat více panelů?)

uživatelé bez JS:
Vypni si JS a žij si tak nějakou dobu... spousta věcí na tebe začne křičet, ať si ho zapneš - už jen třeba kontroly formulářů, špatně načtené části stránek... mám zapínat a vypínat javascript jen proto, že potřebuju napsat článek v administraci? a zvláště, jestli ještě kvůli tomu musím restartovat celý prohlížeč (čímž se mi třeba odhlásí některé relace)...? děkuji, nechci takový prohlížeč, radši těch několik reklam a vyskakovacích oken přežiju a ten javascript si nechám zapnutý. (Koneckonců tu máme různá rozšíření, která třeba vyskakovací okna umožňují blokovat...)


_es:
důvody k vypnutí JS:
netvrdím, že k vypnutí javascriptu nemůže být důvod. říkám, že nemusí být (viz. příklad s defaultním vypnutím, spousta lidí ani neví, kde se to zapíná, ani nevědí, že něco takového existuje)


Díky, dostal jsem odpověď na to, že nelze scriptem zapnout javascript. :-)
Jinak jsem četl, že by mělo pomoci zapnout JS v IE stiskem tlačítka do defaultního nastavení těch zón... zkoušel jsem to a bohužel stále nic. Nevíte, prosím, co dalšího by to mohlo "přetlouct"?
had
Profil *
1Pupik1989: promiň, ale zrovna nepotřebuju, aby roboti indexovali můj chat (hlavně pokud se tam vyskytují soukromé konverzace). :-)
djlj
Profil
had:
uživatelé, kteří nemají javascript? v dnešní době...? takové prohlížeče vůbec existují (pomineme-li mobilní telefony)???
No třeba já mám například javascript povolený jen na stránkách, kterým to výslovně dovolím - používám NoScript do Firefoxu; a myslím, že to je docela populární rozšíření. Aspoň se tím vyhnu zbytečně otravným "vylepšením" na některých stránkách. A tam, kde to potřebuju, to mám trvale zapnuto.

Uf, tak jsem téma dočetl do konce. Na chat s tebou souhlasím, že je nejrozumnější ho udělat ajaxem.
had
Profil *
djlj: ano, ale tvůj prohlížeč javascript podporuje (o tom jsem mluvil) :-) - to, že ho nechceš ty jakožto uživatel je už tvoje věc a sám to řešíš - vypneš, zapneš pokud potřebuješ.

Teď jsem si ještě všimnul, že IE 8.0 na té stránce vypisuje chybu:
Podrobnosti o chybě na webové stránce

Uživatel zástupce: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET4.0C)
Časové razítko: Tue, 2 Aug 2011 16:14:09 UTC

Zpráva: Byl očekáván identifikátor, řetězec nebo číslo.
Řádek: 75
Znak: 48
Kód: 0
Identifikátor URI: http://had.signaly.cz/chat/chat-vvp6m02dwyo


a ve zdrojovém kódu na zmíněném řádku:

...
var id = $("#konverzace-id").val();
$.post("./ExportovatKonverzaci.php", {id:id, export:true});
...


...že by IE neuměl číst javascript? Nebo se nedokáže přenést přes tuto chybu, kdy se předává proměnná? Není zvláštní, že ostatní prohlížeče s tím nemají sebemenší problémy? :-)
_es
Profil
had:
Takže je JS zapnutý, len máš chybný kód a celá tá diskusia o zapnutí JS pomocou JS, bola nezmyselná.

Není zvláštní, že ostatní prohlížeče s tím nemají sebemenší problémy? :-)
Nie je, nie je problém vyrobiť JS kód funkčný len v niektorých prehliadačoch a nefunkčný v iných.
Chamurappi
Profil
Reaguji na hada:
Jakým jiným způsobem zajistit automatický reload dat ze serveru, pokud nechci načítat celou stránku znovu?
Bez JavaScriptu těžko. Můžeš načítat celou stránku (respektive <iframe> s příspěvky) znovu zmíněnou <meta> značkou těm, kdo JS nemají.

pokud vyvíjím aplikaci, chci, aby uživatele pokud možno neobtěžovala a byla pro něj na první chmátnutí pohodlná a přívětivá
Tak proč mu místo toho, abys vytřískal maximum z dostupných možností, píšeš, ať si přenastaví prohlížeč?

spíš výrobci programů koukají jen na zisk a množství aplikací, nikoliv na spokojenost uživatelů
Irelevantní. Naříkání nad kroky Microsoftu nesouvisí s otázkou.

proč například Microsoft neopraví svůj prohlížeč tak, aby konečně akceptoval všechny standardy pro prohlížení webových stránek
Jaké standardy? CSS 2.1 je dokončené teprve dva měsíce, původní CSS 2 nikým neuznávané a všechny hotové (X)HTML specifikace jsou reálně k ničemu, takže může vycházet jen z návrhů. Tohle není přání uživatelů prohlížečů, ale hrstky zfanatizovaných kodérů, kteří přesně nevědí, co chtějí. Kompatibilita je důležitá, standardy ne.

k čemu bude v praxi prohlížeč, který není schopen zobrazit webovou stránku
Za posledních dvacet let způsobovaly většinu problémů se zobrazením převážně prohlížeče lpící na špatně napsaných specifikacích navzdory zájmům uživatelů.

Vypni si JS a žij si tak nějakou dobu... spousta věcí na tebe začne křičet, ať si ho zapneš
Vážně? Když máš tak dobře okoukané, jak spousta věcí křičí, proč se ptáš, jak zapnout skript skriptem? Nemyslíš si, že kdyby to šlo, tak bys na to při brouzdání s vypnutým JS již spoustakrát narazil?

mám zapínat a vypínat javascript jen proto, že potřebuju napsat článek v administraci?
Nemalá část prohlížečů umí povolovat/zakazovat JavaScript pro vybrané domény i bez použití rozšíření.

IE 8.0 na té stránce vypisuje chybu“ … „...že by IE neuměl číst javascript?
Porušil jsi specifikaci JavaScriptu, použil jsi vyhrazené slovo na místě identifikátoru. Proto ti píše, že byl očekáván identifikátor (nebo řetězec) — ta hláška je celkem jasná a v nástrojích pro vývojáře se ti to klíčové slovo i krásně modře zvýrazňuje.

Není zvláštní, že ostatní prohlížeče s tím nemají sebemenší problémy? :-)
Ostatní prohlížeče jedou v quirku, protože máš na začátku zdrojáku neznámý <!doctype>. (Ale možná jsou tolerantní i ve standardním režimu, nevím, nezkoušel jsem.)
had
Profil *
gr.... už podruhé mi tahle diskuze smazala text... omlouvám se, bude to prostě kratší.

_es: omlouvám se, že jsem si toho nevšiml dříve.

Chamurappi:
Za posledních dvacet let způsobovaly většinu problémů se zobrazením převážně prohlížeče lpící na špatně napsaných specifikacích navzdory zájmům uživatelů.
Vážně? Takže podle tebe IE dodržuje specifikace a (třeba) FF je "přívětivý zájmům uživatele"? Nebude to spíš tím, že Opera, FF, Chrome (a další) se drží standardů a jen IE si jede vlastní cestou...? Že by právě díky tomuhle nebyly rozdíly v zobrazení mezi Operou, FF a Chrome?
Logicky vzato: Nastolíme-li jasná pravidla (standardy), kterých se budou všechny prohlížeče držet, nebudou rozdíly v zobrazení webových stránek.

původní CSS 2 nikým neuznávané a všechny hotové (X)HTML specifikace jsou reálně k ničemu:
nesouhlasím. Programátoři se přece drží html specifikací, ne? proč jinak validují stránky?

spíš výrobci programů koukají jen na zisk a množství aplikací, nikoliv na spokojenost uživatelů:
Ano, nesouvisí to s tématem diskuze, ale je to věcná připomínka k obsahu diskuze. V tomhle nemusíme pokračovat. :-)

Tak proč mu místo toho, abys vytřískal maximum z dostupných možností, píšeš, ať si přenastaví prohlížeč?
Protože většina lidí ten Javascript v prohlížeči zapnutý má. Nevidím důvod, proč dělat duplicitní věci, na místo jednodušší formy přenastavení svého prohlížeče. A jak napsal djlj, nejlepší cestou jak udělat chat je psát ho v javascriptu (resp. jquery).
Právě proto se tu ptám, jestli není možnost nějakým scriptem změnit nastavení javascriptu, abych ušetřil uživatelům starosti s jeho zapínáním.
Chamurappi
Profil
Reaguji na hada:
Takže podle tebe IE dodržuje specifikace a (třeba) FF je "přívětivý zájmům uživatele"?
Zvláštní dezinterpretace. Říkám, že většinu problémů způsobovala paličatost výrobců (minoritních) prohlížečů, kteří opřeli svůj marketing o soulad se špatně navrženými specifikacemi. Naštěstí je to už přešlo.
Dodržování specifikací, které nikdo nedodržuje, je v důsledku stejně škodlivé, jako nedodržování specifikací, které dodržují všichni. Historicky trpěli nekompatibilitami nejvíc uživatelé alternativních prohlížečů (a i proto jich bylo málo).

Nastolíme-li jasná pravidla (standardy), kterých se budou všechny prohlížeče držet, nebudou rozdíly v zobrazení webových stránek.
1) Nemůžeš udělat tlustou čáru za minulostí. Zpětná kompatibilita s průkopníky je důležitá.
2) Nikdo nenastolil jasná pravidla, která by rozdíly v zobrazení znemožňovala. V tom, čemu říkáš webové standardy, existují tisíce nedefinovaných stavů a krom nich i desítky úmyslně volitelných možností, jako je třeba (ne)znalost JavaScriptu — žádný standard neříká, že prohlížeč musí/nesmí umět JavaScript, proto logicky vzato rozdíly stejně budou, i kdyby se standardů držely všechny prohlížeče.
3) Ani jasná pravidla nezabrání neúmyslným omylům lidí, kteří prohlížeče vyvíjejí.

Programátoři se přece drží html specifikací, ne?
Ne. Programátoři postupně prosadili zahození XHTML 1 (příliš vágní a nebezpečné), zahození HTML 4 (příliš divné) i zahození CSS 2 (příliš nereálné) a místo toho sestavují na zelené louce HTML 5 a vylaďují CSS 3. Všechno starší je pasé.

proč jinak validují stránky?
Mají rádi zelenou pochvalu, neb každá optimalizace je výzvou, a navíc věří cca tomu, co píšeš, v naivní naději, že se nahrazením ampersandu za &amp; přiblíží k onomu navždy utopickému snu dokonalé standardizace.
Ale je jich čím dál méně, zájem o validitu za poslední dva roky výrazně klesl (alespoň podle statistik českého validátoru a podle četnosti dotazů zde na diskusi).

nejlepší cestou jak udělat chat je psát ho v javascriptu (resp. jquery)
Na AJAX není potřeba osmdesátikilový framework, stačí osmiřádková funkce.


gr.... už podruhé mi tahle diskuze smazala text...
Mohl bys prosím tuto chybu lépe popsat? Jak ho smazala? Koukal jsem do logu a nenašel jsem v něm od 18:49 do 20:51 z tvé IP adresy žádný POST s příspěvkem, samé GETy.
1Pupik1989
Profil
had:
promiň, ale zrovna nepotřebuju, aby roboti indexovali můj chat

Mě ho ale neindexují, proč by to dělali? BOTi přece nejsou registrovaní uživatelé, nýbrž návštěvníci :)
Joker
Profil
had:
jedná se o jednoduchý chat - ovládání stránky je za pomocí jquery, který na pozadí odesílá post na PHP scripty pracující s databází. Jakým jiným způsobem zajistit automatický reload dat ze serveru, pokud nechci načítat celou stránku znovu?
To bez JS skutečně půjde těžko. A tady se právě pozná dobrý návrh stránky:
Dobře navržený web vyžaduje od prohlížeče co nejméně. Samozřejmě ale nové technologie nezavrhuje.
Asi nejlepší strategie je „rozšiřování funkčnosti“: Web má nenáročné základní jádro a prohlížeče podporující určité technologie pak dostanou další funkčnost navíc.
(pozitivní podmínka: Přidává se funkčnost na základě testu, že ji prohlížeč podporuje)
O něco horší je strategie „degradování funkčnosti“: Web obsahuje veškerou funkčnost a technologie prohlížečem nepodporované degraduje na jednodušší.
(negativní podmínka: Odebírá se funkčnost na základě testu, že ji prohlížeč nepodporuje)
Nejhorší strategie je „vyhánění uživatelů“: Web obsahuje plnou funkčnost a pokud prohlížeč nějakou technologii nepodporuje, řekne se uživateli „Neumíš technologii XY, zapni si ji nebo vypadni!“

Tohle je přesně ten případ. Kdybych se na chat chtěl podívat řekněme z mobilu a byl bych smířený s tím, že přinejhorším si budu stránku obnovovat sám, budu mít smůlu. Ačkoliv bych mohl dostat pro mě použitelnou stránku, dostanu jen „Nemáš Javascript, jdi pryč!“

Chamurappi:
Koukal jsem do logu a nenašel jsem v něm od 18:49 do 20:51 z tvé IP adresy žádný POST s příspěvkem, samé GETy.
Možná se z nějakého důvodu znovu načetla stránka?
djlj
Profil
Joker:
Možná se z nějakého důvodu znovu načetla stránka?
V logu by i tak byl POST ;).
Joker
Profil
djlj:
V logu by i tak byl POST ;).
Nebyl, kdyby měl rozepsaný příspěvek a znovu načetl stránku, bude to GET.
prior
Profil *
K prohlížečům bez JS - stačí NoScript, AdBlock a nestačíte se divit. O tyto uživatele nestojíte? Největší frajeři třeba používají Links2 z příkazové řádky skrz terminál. Že to tu nikomu nic neříká? Tak co děláte weby?

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0