XTML Strict vs Transitional
Juče sam pričao sa jednim klijentom kome treba da odradim nešto i malo me je iznenadio pitanjem: "vidim da sve radiš transitional, da li bi bio problem da uradiš strict". Nisam do sada imao klijenta sa takvim zahtevom, pošto sam do sada uvek radio "save as" prethodnog projekta u novi, pobrišem ono što je specifično za prethodni i krenem sa standardnom osnovom koja uključuje i header:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Moram da priznam da nisam nešto puno ni obraćao pažnju na to jer nisam od onih super-čistunaca koji ne mogu da spavaju ako im dokument nije 100% valid (da se razumemo, ovo nije prozivka istih, respect za takve, ja samo govorim šta nisam)... bitno mi je samo da radi kako treba. Umesto da istražujem, možda neko može da mi kaže kakve su prednosti strict DTD i šta bi klijent koji insistira na tome eventualno dobio. Koliko se sećam bilo je ovde nekih diskusija o stvarima koje nisu radile pod strict DTD, a rade sa transitional ili nekim drugim... Kada smo kod strict, da li ga podržavaju browseri, i da li prave probleme. Da li da idem sa 1.1 ili 1.0? Generalno da skratim... šta dobijam / gubim sa strict? Ili je to samo "fensi" fora kao "look ma' I am doing strict" ? |
Tehnički (ako već idemo u tehnikalije) kada koristiš "xHTML 1.0 Strict" DTD - to znači da malo više vodiš računa o strukturi dokumenta, čistoći istog, itd. Kažem samo "znači da" - uopšte ne mora da znači, ali obično u velikom broju slučajeva ljudi koji koriste xHTML 1.0 Strict su baš ti "čistunci" kojima je stalo do toga da sve bude "cakum-pakum".
Sve što je u xHTML 1.0 Transitional će naravno raditi i u Strict, samo što u Strict nisu dozvoljeni elementi poput iframe itd. Takođe ako se ne varam postoji i problem sa quirks mode u IE6 (?) kada se koristi Transitional, ali ne mogu da tvrdim sada bilo šta. Kada bi išli u najsitnije detalje - doctype koji bi trebali da koristimo je HTML 4.01 Strict Kôd:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
doctype sluzi da kazes browseru koji, jeli, tip dokumenta si mu poslao. Generalno nema apsolutno nikakve razlike da li saljes transitional ili strict (ako ga saljes kao text/html), jer browseri i dalje gledaju kroz prste za vecinu gresaka...
Osnovna razlika je kad pustis validator sto ce on koristiti taj odredjeni DTD za validaciju, pa ce se pod strict verovatno vise buniti. Za komplet listu atributa i elemenata koja je izbacena u strict DTD-u pogledaj ovo http://www.zvon.org/xxl/xhtmlReferen...omparison.html @dragan: AFAIK ne postoji nikakav problem sa quirks modom i transitional DTD-om, quirks mode se pali ako nije definisan doctype uopste. Ja koristim xHTML transitional skoro uvek, mada si skroz u pravu za HTML 4.01 Strict, on je verovatno prikladniji |
Ima ralike u supportu za odredjene atribute. Recimo primer da XHTML 1.0 Strict ne podrzhava atribut border u IMG tagu i kad proveravash stranicu, i kad radish validaciju recimo u DW, izbacuje ti warning ili error, pa ce s sigurno naci neki debil koji ce ti slati poruke tipa "e, nevalidan ti je kod" ...lol...
Glavno, u Strictu je izbachena podrshka za neke atribute, tagove, nametnuta su stroga pravila NESTINGA, ugnjezhdavanja...kako li se to vec zove. |
U striktu target="_blank" nije dozvoljeno, mada se browseri nece buniti ako imas takav atribut u dokumentu, ali naravno nece proci validaciju.
|
"Princip je isti sve su ostalo nijanse"
Ono, bas te nijanse razdvajaju (X)HTML pismene od onih drugih.Kako god. Validnost koda nije "fensi" (bilo Strict bilo Traditional). Recimo da je to podizanje standarda web dizajna na jedan visi nivo koji mnogi ne razumeju. Sve u svemu "tipujem" na Traditional zbog fleksibilnosti u radu. |
Citat:
|
Citat:
Citat:
|
Treba i razumeti zbog čega je to tako.
Moguće je da postoji razlog zbog čega je target atribut izbačen iz striktne verzije. ... Mora da postoji razlog, inače su ti standardisti totalni moroni koji ne razumeju da web masteri vole da se korisniku otvaraju desetine prozora! ... ili samo štite interese korisnika i prepuštaju mu da sam odluči gde bi mu se otvarala nova stranica. |
Citat:
salim se, naravno, a i mislim da je standard tako napravljen pre svega zbog kompatibilnosti sa mobilnim i ostalim egzoticnim browserima koji ne umeju da otvaraju nove prozore, ali mislim da tu postoje dva problema sa kojima autori standarda nisu racunali: - upotreba vise prozora je ponekad smislena i opravdana, a korisnik obicno ne zna unapred sta je tacno u prozoru ili naprosto ne razmislja o tome, pa je pametnije da to moze da se jednostavno odredi unapred - velika vecina korisnika ne ume da otvori link u novom prozoru, sve da im zivot zavisi od toga... |
Citat:
Citat:
|
Što i ima smisla ... i to prilično ..
|
Pa ima u nekom idealnom svetu gde developer određuje pravila i postavi preambulu surferskog ustava: "ko nema uključen javascript - da mu rikne kewa".
Šta ćemo kada js ne može da odredi behaviour? Šta ćemo sa oglasima? Klik na banner, o ode surfer sa tvog sajta... a bar 50% nema pojma kako da se vrati nazad. Onda ćemo imati navalu js popup-era koju naravno svi blokiraju ... i 'beš onda takav behaviour. Što bi rek'o Ice-T: "**** ain't like that". |
e samo da objasnim zbog brzine kucanja uleteo mi "Traditional" umesto "Transitional"
A target atrubut? Pa nemam pojma Najnesrecniji odgovor je(e sad propadam u zemlju sto ovo pisem ) frameset tj.organizacija sajta na taj nacin(da posetilac ne ode nigd esa sajta kad klikne negde) Tako nekako,da ne razglabam sad. Generalno jos jedan vise razlog da koristim Traditional hehe Salim se Transitional. |
Aj sad, otporas iz Vlasotince, nemo' se čupaš... traditional nego šta. Srbija, brate :) Još ćemo da napravimo i slavski DTD pa da vidiš traditional :)
- Koju slavu slavis? - Sveti Traditional prepotpni velikomucenik |
hahahahahaha ti si car :D
|
Ono što je (meni) bitno je da su oba, i Transitional i Strict, validni XML dokumenti koji se, ako je potrebno, mogu procesirati bez problema drugim programimma / procesima.
Strict je previše strog (u odnosu na dnevni posao/potrebe):
Sve u svemu, zbog gomile problema, uvek bežim od Strict; i do sada nisam imao nekog posebnog razloga da zažalim zbog toga. |
Citat:
Strict ima par prednosti: 1. semantička čistost - forsira te validator da napišeš markup koji je potpuno očišćen od prezentacionih elemenata 2. trebalo bi su takve stranice lakše za svariti od strane browsera i samim tim brže Pitanje je koliko je to tako u browserima, ali ako piše, zašto ne raditi. Ja uvek koristim Strict, kad god mogu. Za sve zajebancije koje su uklonjene postoje fine lepe zamene, sem za jednu: start atribut kod OL elementa ne postoji u strict što je čista glupost. |
Hm, samo sekcija za brzinu:
- brzina parsiranja Strict i Transitional stranice je ista jer su oba validni XML dokumenti Ako iza toga ima nešto što pravi razliku, ok; mada, čisto sumnjam :-) |
Citat:
|
|
Ups, zaboravih da je JS uokviren komentarima... :)
|
eh, ali sad i tu ima caka, sto ako JS stavis unutar komentara onda ne smes nigde u kodu da koristis -- dekrementiranje (unarni minus, kako se vec zove, --), jer je ilegalno da imas dve crtice unutar komentara... fun never stops :)
|
Ovo je po meni skroz OK:
1. Kada počinješ kršiš pravila jer nisi ni svestan da ista postoje (Dreamweaver + tabele za layout faza, eksperimentisanje, yada yada) 2. Počneš da učiš pravila i trudiš se da sajtovi prolaze validaciju, trošiš sive ćelije na kontanje razlike između Transitional i Strict, pratiš pisanija ljudi opsednutih web standardima etc 3. Kršiš pravila jer si svestan šta time gubiš i postižeš. Iskreno, morao bih biti ekstra pijan da mi padne na pamet da je serviranje Stricta kao application/xhtml+xml dobra ideja i da to koristim za komercijalnu aplikaciju. Jednostavno je NEBITNO, a moraš ekstra da se drndaš zbog toga. Bottom line: većina dokumenata koje napravim su validni jer mi je ceo taj sistem ušao u rutinu i kod je znatno lakši za debugovanje, ali mirno spavam iako koristim target="_blank" i tabele za neke kompleksnije elemente za koje moram da se postaram da će raditi isto u svim browserima i da će biti rock-solid kada se na njih nakači gomila JavaScripta. Niko od activeCollab mušterija mi to do sada nije zamerio, a samo njihov glas vrednujem trenutno :D |
Off Topic: @ivanhoe: Hvala Slavko, spas'o si mi život! :) |
Sudeci po ovoj tabeli:
http://hsivonen.iki.fi/doctype/ Najbolje bi bilo koristiti <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> ili <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> jer su bez Quirks mode a Standards Mode and Almost Standards Mode podrzani od svih browsera. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Ima quirks mode u Konq 3.2 browseru za koji ja iskreno prvi put cujem. Pored toga u vecini browsera je almost standards mode. Ipak mislim da 1.0 transitional moze i treba uz malo paznje da se koristi. Vecina sajtova koje ja znam a posebno obracaju paznju na user experiance koriste 1.0 transitional. |
Konq je skraceno za Konqueror, standardni browser za linux KDE, nekad ces umesto Konqueror da vidis da pise kHTML, to je kodni naziv njegovog engine-a, koji se koristi u mnogim linux aplikacijama (tipa za html mail i sl.)
|
Укратко...
Citat:
Шалу на страну, исправан Strict XHTML би, у земљи снова, требало нешто брже да се обрађује и приказује. Једино 1.0 има смисла јер исправан 1.1 неће баш свугде да се види... То је она IE запетљанција. У суштини, основна сврха Strict-а јесте да кажеш: "Е, види... Ја радим Strict.", ако занемариш припрему за 2.0 и web кроз 10 година од данашњице. ================================ Е, сад... Битно. Јесте ли погледали XHTML 2.0? Мени се допада како изгледа. Посебно узевши у обзир да ме је HTML 5.0 разочарао освртањем на претходне грешке и људе који ће их понављати, да је главна фора то што има header, footer и video, занима ме шта мислите о XHTML 2.0... Прво баците око на http://www.w3.org/TR/xhtml2/. |
Vreme je GMT +2. Trenutno vreme je 06:11. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.