Autor Zpráva
Golfak
Profil *
Dobrej, chci se zeptat, proč na stránce www.tutorials.cz (v Opeře) se u stránkování zobrazuje obsah tagu noscript - ikdyž má uživatel zaplí JS...
děkuji
Chamurappi
Profil
Reaguji na Golfaka:
V HTML (na rozdíl od XHTML) berou některé prohlížeče vnitřek elementu <noscript> jako znaková data, nerozebírají jeho strukturu, čímž vcelku jednoduše zajišťují nefunkčnost elementů uvnitř při zapnutém skriptování (zápis „<noscript><img></noscript>“ vnímají ve skutečnosti jako „<noscript>&lt;img&gt;</noscript>“, proto obrázek při povoleném JS neexistuje). Aby znefunkčněný HTML zápis nebyl vidět, mají ve svém výchozím stylopisu pro <noscript> zadefinovanou CSS vlastnost „display: none“.

Ty jim tuto důmyslnou konstrukci 324. řádkem v souboru „styly.css“ bouráš:
#cisl noscript {padding: 0; margin: 0; display: block; float: right}
Problém by se měl projevovat i ve Firefoxu 2 (nezkoušel jsem).
Leo
Profil
Chamurappi

"Problém by se měl projevovat i ve Firefoxu 2 (nezkoušel jsem)."

Ve FF 2.0.0.17 to nedela. Ovsem ani v Opere 9.24.... Leo
Chamurappi
Profil
Reaguji na Lea:
Golfak už zřejmě závadu odstranil.
Leo
Profil
No ja to zkousel na svem souboru, a nejak jsem to nerozchodil - t. j. obsah noscriptu se pri zapnutem js nezobrazi bez ohledu na display v css. Leo
djtopper
Profil *
prave to riesim. neviem ci to tu uz bolo ale staci ked das do <noscript> vnoreny dalsi tag ako napriklad <p>
mne fungovalo toto:

CSS:
noscript p { background-color: #fabac3; display: block; }

XHTML:
<noscript><p>Váš prehliadač nepodporuje alebo má vypnutý JavaScript.</p></noscript>
Bubák
Profil
Chamurappi
Problém by se měl projevovat i ve Firefoxu 2 (nezkoušel jsem).
Když už je vlákno vytažené, zkusil jsem na své archivní sbírce Firefoxů, stejně, jako Opera se chová jen Firefox 1, v novějších verzích se chyba nevyskytuje, ani ve svém výchozím CSS (soubor html.css) pro tag NOSCRIPT nemají žádnou deklaraci. Předpokládám, že NOSCRIPT je natvrdo zneviditelněn prohlížečem.
Korektně se chová i WebKit.

djtopper
Nechápu, co jsi tím chtěl říct. Tady se řešil jiný problém.
Perlička, proč deklaruješ blokový element jako blokový?
Chamurappi
Profil
Reaguji na Bubáka:
Děkuji za odzkoušení.

Předpokládám, že NOSCRIPT je natvrdo zneviditelněn prohlížečem
A nebo má ve výchozím stylopisu „!important“.

Tady se řešil jiný problém.
Myslím, že se djtopper pokoušel říct, že mu pomohlo, když místo vynuceného zobrazování samotného <noscript>u vynucuje zobrazení elementu uvnitř, čímž se vyhne konfliktu s výchozím stylopisem Opery a starého Firefoxu.
Jezevec
Profil *
Problém se dá obejít: místo elementu noscript použít div a tomu scriptem přiřadit vlastnost display:none. Funkčnost je nasnadě: vypnutý skript nevygeneruje vlastnost a element je vidět. A naopak.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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