Hyppää sisältöön, linkkilistaan.
Arkisto › Syyskuu 2004 › 23. päivä
Miksi Mozilla ei ota tyylitiedostoja huomioon kaikilla nettisivuilla vaan näyttää sivut ilman tyyliä?
Lukiessani Kasan kommentteja Suomen koulutusjärjestelmän tietotekniikka-asioista tuli mieleeni eräs tapahtuma, jolle voi antaa vaikka nimen Mozilla ja Suomen koululaitos. Tai lyhyemmin: Seppänen seikkailee tietotekniikan maailmassa, osa 3 (aiemmat 1 ja 2).
Törmäsin ilmiöön ensimmäisen kerran silloin kun Mozilla kulki vielä milestoneissa; selain ei ottanut huomioon kotisivujeni tyylejä vaikka ne olin ulkoiseen tyylitiedostoon varta vasten laittanut. Ensiksi epäilin merkintäkoodin virheellisyyttä ja kokeilin kaikenlaisia tapoja sijoittaa ulkoisen tyylitiedoston merkintä HTML-sivulle.
<link rel="stylesheet" type="text/css"
href="tyyli.css" title="Style" />
<style type="text/css" media="all">
@import url("tyyli.css");
</style>
Varioin vielä yllä olevien attribuuttien arvoja ja järjestystä. Turhaan. Mozilla ei vain näyttänyt tyylejä. Lisäharmia aiheutti se, että tyylit toimivat moitteettomasti, kun sivua selasi kiintolevyltäni. Heti kun sivun sijoitti palvelimelle, tyylit katosivat ellei niitä sitten oltu upotettu suoraan sivulle. Annoin lopulta periksi. Ainahan oli Internet Explorer, joka toimi mainiosti — tilanteessa kuin tilanteessa.
Ongelma palasi mieleeni viime vuoden loppupuolella. Koska tällöin Mozilla kulki jo todellisella versionumerolla, päättelin tilanteen vaativan lopullista selvitystä. Aloitin kokeiluni uudestaan todetan saman kuin aikaisemminkin: tyylit eivät vieläkään toimineet. Jostain taivaasta, Paavalin oikealta puolelta mieleeni tuli ajatella tiedostojen MIME-koodaustapoja. Josko nämät tarjoaisivat sen vastauksen vai jäisikö kysymys ikuiseksi kysymykseksi?
Kopioin nettisivun ja tyylitiedoston myös toiselle palvelimelle, itse asiassa tälle nykyiselle welho.com-päätteiselle. Seuraavaksi piti saada selville sivunpyynnön HTTP-kentät. Onneksi tiesin cURL-nimisen ohjelman, jolla homma sujuisi. Hain otsikkokentän tiedot näiltä kahdelta palvelimelta (joiden osoitteet on muutettu viattomien suojelemiseksi).
C:\>curl -I http://www.suomen-koulu.fi/tyyli.css
HTTP/1.1 200 OK
Date: Mon, 13 Oct 2003 15:09:28 GMT
Server: Apache/1.3.9 (Unix) Debian/GNU PHP/4.0.3pl1
Last-Modified: Mon, 13 Oct 2003 14:43:04 GMT
ETag: "97d09-a02-3f8ab9f8"
Accept-Ranges: bytes
Content-Length: 2562
Content-Type: text/plain
C:\>curl -I http://www.muu-suomi.fi/tyyli.css
HTTP/1.1 200 OK
Date: Mon, 13 Oct 2003 15:09:33 GMT
Server: HP Apache-based Web Server/1.3.26 (Unix)
Last-Modified: Mon, 13 Oct 2003 14:57:19 GMT
ETag: "7ada4-a02-3f8abd4f"
Accept-Ranges: bytes
Content-Length: 2562
Content-Type: text/css
Ongelman ydin alkoi muodostua kouriintuntuvaksi. Olen vahventanut huomionarvoiset kohdat. Ensimmäinen verkkopalvelin palauttaa tyylitiedostojen MIME-tyypiksi text/plain ja toinen text/css. Näistä jälkimmäinen oli myös maalaisjärjellä ajatellen oikeampi, mutta seikka sai vahvistusta myöhemmin muualta.
Koko episodin opetus on tämä: suomalaisen koululaitoksen sivut eivät toimineet visuaalisesti oikein muulla selaimella kuin Internet Explorerilla niinkin myöhään kuin lokakuussa 2003. Tein saman otsikkokenttähaun myös tässä kuussa ja tulos
C:\>curl -I http://www.suomen-koulu.fi/tyyli.css
HTTP/1.1 200 OK
Date: Sat, 04 Sep 2004 19:47:49 GMT
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) PHP/4.1.2
Last-Modified: Mon, 13 Oct 2003 14:43:04 GMT
ETag: "10b88f-a02-3f8ab9f8"
Accept-Ranges: bytes
Content-Length: 2562
Connection: close
Content-Type: text/css
kertoo, että yhden rivin korjaus palvelimen ohjaustiedostoon on vihdoin tehty. Mielenkiintoisesti Apachen versionumero on tuon perusteella laskenut (aiemmin 1.3.9, nyt 1.3.27), kun Debian on vaihdettu Red Hatiin. Tai sitten versionumero ei ole oikea. PHP:n versio on sentään kasvanut.
Huomautettakoon loppuun, että Content-type-määreen saa selville Mozillassa joko näppäinoikotiellä CTRL+I tai valikoiden kautta View › Page Info. Mozillan sivuilta ominaisuus saa myös vahvistusta:
Another often-noticed change is that, in standards mode, we reject CSS stylesheets that have a MIME type other than text/css.
Copyright © 2004–2005 Lauri Seppänen. Kommentointi HaloScan.