MozillaPL.org - polskie centrum Mozilli

Główne menu:

Skrypt rozróżniający IE - reszta dla stylu CSS - jak?

Dyskusje na temat standardów WWW i zgłoszenia stron niedziałających poprawnie w przeglądarkach z rodziny Mozilli (w tym Mozilla Firefox)

Moderator: Pomocy?!

Dzięki - działa!

Postautor: KLAPEK » 28 sierpnia 2003, 07:27

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; pl-PL; rv:1.4) Gecko/20030624 --== MOZILLA RULLEZ ;-) ==--

Dziękuję wszystkim za pomoc :D
Skrypt działa 8) Jak jest Opera udająca M$ to i tak ma CSS taki jak chciałem.
W domu jeszcze sprawdzę pod Konq, by być pewnym wszystkich wpisów...
Skrypt ostatecznie wygląda tak:
Kod: Zaznacz cały
if (document.getElementByid)
{
document.writeln('<link rel="stylesheet" type="text/css" href="css/styl.css">');}

else if (window.opera)
{
document.writeln('<link rel="stylesheet" type="text/css" href="css/styl.css">');
}
else if (document.all)
{
document.writeln('<link rel="stylesheet" type="text/css" href="css/IEstyl.css">');
}
else if (document.layers)
{
document.writeln('<link rel="stylesheet" type="text/css" href="css/IEstyl.css">');
}
else
{
document.writeln('<link rel="stylesheet" type="text/css" href="css/styl.css">');
}
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
SeaMonkey @ GNU/Linux
KLAPEK
Moderator
 
Posty: 2190
Z nami od: 10 czerwca 2002, 15:05
Lokalizacja: ~/seamonkey

Postautor: Nerf » 28 sierpnia 2003, 10:02

Przeglądarka: Links (2.1pre9; Linux 2.4.20-gentoo-r6 i686; 80x25)

BTW takie proste rozroznienie IE-reszta ja bym zrobil tak:
dla IE dac styl zewnetrzny
Kod: Zaznacz cały
<link rel="stylesheet" type="text/css" href="IEshit.css" />

a dla reszty dac styl wewnetrzny
Kod: Zaznacz cały
<style type="text/css">
@import url("styl.css") screen,projection;
</style>

Zgodnie z tym, co pisza na http://phoenity.com/newtedge/hide_css_ie IE nie powinien widziec tego drugiego stylu. Pozostale przegladarki powinny go potraktowac jako bardziej priorytetowy (bo jest wewnetrzny). Ale nie sprawdzalem, czy to dziala, bo nie za bardzo mam teraz mozliwosc :).
I believe that all government is evil, and that trying to improve it is largely a waste of time.
H.L. Mencken
Nerf
 
Posty: 411
Z nami od: 14 stycznia 2003, 22:25
Lokalizacja: Piła-Warszawa

Postautor: Domel » 28 sierpnia 2003, 11:10

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624

Marcoos i Gandalf nie potrzebnie klocicie sie o metody rozpoznawania przegladarek. Bo na devedge istnieje skrypt, ktory wykorzystuje obie metody do indentyfikacji i co najwazniejsze rozpoznaje praktycznie wszystkie przegladarki (laczenie z tymi, ktorych np ja na oczy nie widzialem), malo tego: rozpoznaje wszystkie ich wersje.
A tulko od sie bie dodam, ze zmiana UA jest na wlasna odpowiedzialnosc. I np. ja nie mam zamiaru sie przejmowac "pseudo crackerami". Moze ostatnie zdanie jest kontrowersyjne ale poki producent nie da mozliwosci zmiany UA (przez opcje) nalezy przyjac, ze sobie nie zyczy zmiany (poniekad nazwy przegladarki).
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Postautor: GandHome » 28 sierpnia 2003, 12:42

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; PL; rv:1.4) Gecko/20030624

Domel: ale kazdy skrypt, kazdy widz musi sciagnac. Wiec lepiej zeby byl jak najmniejszy prawda? Alladyn nie przypadkowo zajmuje 2 kb, choc moglby jak DynAPI zajmowac 80 kb. Marcoos promuje ta druga metode.
GandHome
 

Postautor: Nerf » 28 sierpnia 2003, 14:35

Przeglądarka: Links (2.1pre9; Linux 2.4.20-gentoo-r6 i686; x)

GandHome pisze:Domel: ale kazdy skrypt, kazdy widz musi sciagnac.

A gdyby to zrobic w PHP (jesli ktos ma odpowiedni serwer), to wtedy skrypt moze robic dowolne kombinacje i rozpoznawac dowolne wersje przegladarek, a uzytkownik i tak w koncu sciagnie tyle samo, ile sciagnalby bez skryptu.
I believe that all government is evil, and that trying to improve it is largely a waste of time.
H.L. Mencken
Nerf
 
Posty: 411
Z nami od: 14 stycznia 2003, 22:25
Lokalizacja: Piła-Warszawa

Postautor: Domel » 28 sierpnia 2003, 14:44

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624

Nerf pisze:A gdyby to zrobic w PHP (jesli ktos ma odpowiedni serwer), to wtedy skrypt moze robic dowolne kombinacje i rozpoznawac dowolne wersje przegladarek, a uzytkownik i tak w koncu sciagnie tyle samo, ile sciagnalby bez skryptu.

No tak ale serwer bedzie mail obciazenia, wiec w efekcie odbije sie to na szybkosci wczytywania.
Na PHP to sie nie znam dobrze ale chyba da sie tylko to zrobic przez UA a nie da sie obiektowka (?).
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Postautor: Nerf » 28 sierpnia 2003, 18:03

Przeglądarka: Links (2.1pre9; Linux 2.4.20-gentoo-r6 i686; x)

Chyba tylko przez UA. Ale jesli jakas przegladarka klamie mowiac, ze jest IE, to ja bym ja potraktowal jako IE, nawet jesli strona mialaby byc w niej ubozsza. To i tak wina glupoty przegladarki (czy tez Opera Software) :). Po to m. in. jest wysylane UA, zeby webmaster mogl dopasowac strone do wymagan konkretnej przegladarki, wiec jesli Opera tak bardzo chce podszywac sie pod IE, to IMO powinna to robic w 100% - wlacznie z takim samym silnikiem wyswietlajacym, a jesli tak nie robi, to tylko jej wina, ze strony sie zle wyswietlaja :).
I believe that all government is evil, and that trying to improve it is largely a waste of time.
H.L. Mencken
Nerf
 
Posty: 411
Z nami od: 14 stycznia 2003, 22:25
Lokalizacja: Piła-Warszawa

Postautor: Gandalf » 28 sierpnia 2003, 18:17

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030826 Mozilla Firebird/0.6.1+

Zgadzam sie w 100%. Jesli klamie, ze jest IE to spelnijmy jej blagalna prosbe. Dla Opery robie wyjatek ;)
Gandalf
 
Posty: 1802
Z nami od: 29 czerwca 2002, 04:37
Lokalizacja: Warszawa

Postautor: marcoos » 31 sierpnia 2003, 23:49

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5b) Gecko/20030827

Lepiej na pierwsze miejsce w IFie wsadzic document.getElementById - mamy wtedy pewnosc, ze DOM to DOM i kazdy pojdzie.


W przypadku, kiedy używamy DOM - tak. Ale jeśli wykorzystujemy to do rozpoznania, czy przeglądarce wysłać W3C CSS czy Microsoft pseudo-CSS,
to IE też wpadnie w if (document.getElementById). ;)

Dlatego "ostateczny" skrypt Klapka zaaplikuje IE5.5/IE6 ten sam arkusz, co Mozilli, a "zły CSS" pójdzie dla IE 4.0/5.0...


Ja nie jestem zwolennikiem metody z DynAPI. To, jak to jest zrobione w Alladynie jest świetne. Ale jeśli użyte właściwie. Czyli do JavaScriptu. Ale tu chodzi tylko o CSS. Konqueror może jest podobny do IE6 od strony JS, ale od strony CSS bardziej przypomina Mozillę. (Nie wiem, ktory już raz to piszę ;)

if (document.all) w żaden sposób nie mówi mi, czy przeglądarka rozumie style="position: fixed". if (document.getElementById) też nie. Akurat przy decydowaniu o rodzaju arkusza stylów należy przeprowadzić bardziej dogłębne wykrywanie.

Co do Konquerora - każdy Konqueror ma navigator.vendor=='KDE'.
Tak więc ten warunek powinien go wykryć bez tak nielubianego przez Gandalfa UA sniffing...

A tu jest ładna lista takich właściwości wielu przeglądarek:
http://www.howtocreate.co.uk/tutorials/ ... iffer.html
marcoos
Moderator
 
Posty: 2227
Z nami od: 12 października 2002, 10:25
Lokalizacja: Wrocław

Postautor: KLAPEK » 01 września 2003, 07:27

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; pl-PL; rv:1.4) Gecko/20030624 --== MOZILLA RULLEZ ;-) ==--

marcoos pisze:
Dlatego "ostateczny" skrypt Klapka zaaplikuje IE5.5/IE6 ten sam arkusz, co Mozilli, a "zły CSS" pójdzie dla IE 4.0/5.0...


:o - jak na razie lokalnie na dysku wszystko rozpoznaje jak należy -> IE 5.0 dostaje CSSa dla IE -> sprawdziłem też IE 6.0 i nadal jest ok.
[cała sprawa rozbijała się o to, iz w pozycjonowaniu IE przesuwał obiekty, teraz także w IE 6.0 wszystko jest na swoim miejscu, więc chyba dostał odpowiedni CSS ;) - muszę potem dla testu zmienić np kolor, żeby się upewnić, czy na pewno...]
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
SeaMonkey @ GNU/Linux
KLAPEK
Moderator
 
Posty: 2190
Z nami od: 10 czerwca 2002, 15:05
Lokalizacja: ~/seamonkey

Postautor: KLAPEK » 05 września 2003, 08:57

Przeglądarka: Mozilla/5.0 (compatible; Konqueror/3.1; Linux 2.4.20-xfs; X11; i686; pl_PL, pl, pl_PL.ISO-8859-2)

Nerf pisze:BTW takie proste rozroznienie IE-reszta ja bym zrobil tak:
dla IE dac styl zewnetrzny
Kod: Zaznacz cały
<link rel="stylesheet" type="text/css" href="IEshit.css" />

a dla reszty dac styl wewnetrzny
Kod: Zaznacz cały
<style type="text/css">
@import url("styl.css") screen,projection;
</style>

Zgodnie z tym, co pisza na http://phoenity.com/newtedge/hide_css_ie IE nie powinien widziec tego drugiego stylu. Pozostale przegladarki powinny go potraktowac jako bardziej priorytetowy (bo jest wewnetrzny). Ale nie sprawdzalem, czy to dziala, bo nie za bardzo mam teraz mozliwosc :).

Dzięki bardzo, ostatecznie zostałem przy Twoim rozwiązaniu, bo w moim poprzednim Konq załapywał się pod IE :/
Ale teraz wszystko [na razie ;) ] OK 8)
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
SeaMonkey @ GNU/Linux
KLAPEK
Moderator
 
Posty: 2190
Z nami od: 10 czerwca 2002, 15:05
Lokalizacja: ~/seamonkey

Postautor: KLAPEK » 27 października 2003, 11:50

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; pl-PL; rv:1.4.1) Gecko/20031008 --== MOZILLA RULLEZ ;-) ==--

Mam jeszcze jedno pytanko, czy istnieje cos takiego dla Konq jak if IE :roll:
Niestety Konq wykłada sie na pysk przy pozycjonowaniu relatywnym 5 obrazków, więc chce dla niego osobny plik bez pozycjonowania [jak dla IE ;)]

Dla IE zrobiłem tak:
Kod: Zaznacz cały
<!--[if IE]>
<meta HTTP-EQUIV=Refresh CONTENT="0; URL=../pl/uslugiIE.html">
<![endif]-->

Czy jest coś takiego dla Konq, może przy wykorzystaniu tego:
Kod: Zaznacz cały
navigator.vendor == 'KDE'

Tylko jak to zrobić bez zaprzęgania JS :roll:


---
PS i dlaczego Konq wykłada się na pysk przy czymś takim:
Kod: Zaznacz cały
<object>
<ul>
<li>...</li>
<li>...</li>
...
</ul>
</object>

W ww przypadku wyswietla tylko część zawarości pierwszego <li>, ale pionowo :o , reszty nie widać
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
SeaMonkey @ GNU/Linux
KLAPEK
Moderator
 
Posty: 2190
Z nami od: 10 czerwca 2002, 15:05
Lokalizacja: ~/seamonkey

Poprzednia

Wróć do Standardy WWW i źle działające strony

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: