Why tables for layout is bad Mon, Nov 27. 2006
Is XHTML supported wide enough for everyday use? Tue, Jul 25. 2006
Today I stumbled upon an article by Lachlan Hunt which lists some of the problems with using XHTML for webpages. After having read through it, I was nearly ready to reimplement my XHTML pages in HTML... The main cause for this was IE's lack of support for application/xhtml+xml content. It won't render it, but instead provides you with a standard download dialog. Serving XHTML as text/html, like most people do nowadays is actually fooling older user agents (like IE) to treat the page as good ole' HTML. But there were a lot of other issues with XHTML I didn't like the sound of either.
This would actually make my employer have to use HTML Transitional, since some of the ad serving is done using <iframe>, which isn't allowed in the strict doctypes. You can read more on the differences between strict and transitional markup here. I might be arrogant, but HTML4 Transitional sounds a bit too nineties for me to accept, even if it is an acknowledged standard. ![]()
Luckily, the XHTML specs states that text/html is ok to use for XHTML documents, and they even included a thorough appendix on how to make sure your XHTML document renders correctly in browsers that treat it like HTML. Very good reading, and it contained several implications I weren't aware of!
Edit 1: There's an article over at workingwith.me.uk about sending mime headers depending on what the user agent supports. Highly recommended reading. Works like a charm here.
Though I was a bit shocked to notice that W3C's validator doesn't send the correct ACCEPT-headers.
Edit 2: W3C has a table with the definitive overview of contenttypes for the differenct specs.
Edit 3: The code from www.workingwith.me.uk har some bugs if a browser explicitly states it does NOT want application/xhtml+xml. I rewrote my handling using some code from www.autisticcuckoo.net which seems to work more reliably (setting Q to 1 as default).
Finding the best way to insert Flash Wed, Jun 28. 2006
In my earlier days (before I switched from Opera to Firefox, now I use the AdBlock Plus Firefox extension to block ads) I used to surf the web with Flash disabled. I was actually quite shocked to notice how many websites that just didn't display anything when read though a browser without Flash support. This might be fixed by what I am about to discuss here, but it's not my main point.
Have you ever tried validating a page with Flash in it? Chances are it didn't validate. Even Adobes official material on how to embed Flash encourages use of the <embed> tag, which is not a valid tag in any of the W3C specs for markup languages on the web. It's a Netscape invention, and it actually took quite some time until the Mozilla-based browsers managed to support the <object> tag in a satisfactory fashion. Frustrated with this fact, I started Googling, and this opened up a can of worms, as Internet Explorer didn't fully support the <object> tag in a standard-conforming way either...
All I really wanted was a way that...
- Was completely valid (X)HTML.
- Sent the user to the Flash download center if the Flash plugin is missing or out of date.
- Did not require JavaScript running in the browser in order to display the Flash. More and more people (mostly geeks) actually surf with JavaScript disabled.
- Didn't use the IE-specific conditional construct <!--[if !IE]> <--> (I don't like browser-specific coding, even if it doesn't break the standard).
Run several IE versions on one computer Tue, Jun 27. 2006
This is a webdesigners dream... Haven't you wished there was a way to quickly test a page in different versions of IE? If you've tried, you probably know that installing Internet Explorer will overwrite any verion currently installed. One install at a time. Bah humbug!
The rescue comes in the form of IE standalone distributions from evolt.org. Just download (I tried the 9x version under Windows XP), unzip, doubleclick iexplore.exe and off you go! Note that the about dialog will display the version of your current system IE install, so there's no way of knowing which IE you're running without remembering which version you launched or looking at the HTTP headers.
Imagine my relief when I discovered this page works nice in both IE 5.5 and 5.0 (though a slight menu anomaly on the latter). ![]()
Update: Thanks to Yousif Al Saif at TredoSoft there is now an installer that installs IE 3.0-6.0 side by side on your computer! Recommended.
Google Homepage plugins Thu, Mar 23. 2006
En modul er i utgangspunktet en xml-fil med inline html og Javascript (se min kode her, bruk "view source").
Problem nummer en er at de fleste nettlesere av sikkerhetshensyn ikke lar Javascript sendte http-forespørsler til andre servere enn serveren HTML-sida hentes fra. Greit i mange situasjoner, men min modul leses jo fra Google (siden Google må parse og wrappe modulen), og da begrenses mulighetene fort. Nå har Google tenkt så langt og gitt deg en Javascript funksjon som heter _IG_FetchContent(). Fine greier, tenkte jeg. Men dessverre cacher denne funksjonen responser i timevis, så den blir totalt ubrukelig til det meste av dynamiske løsninger. Dette måtte jeg løse ved å legge til ?randomshit=12345 i URL'en, hvor 12345 er et slags hjemmelagd timestamp som er garantert unikt over en periode på 28 dager. Ikke pent, men det duger inntil Google kan tilby noe bedre.
Problem nummer 2 var selvfølgelig at spilleserveren min i utgangspunktet bare rapporterer via rå TCP, men dette løste jeg ved å lage et lite PHP-script på serveren som modulen min spør. Dette scriptet kontakter igjen spilleserveren direkte og konverterer infoen til HTML før den returneres.
Ellers kan jeg nevne at modulen min krever å kjøres inline (div istedenfor iframe) siden den har variabel høyde og oppdaterer seg hvert 30. sekund uten å reloade siden (bytter bare ut innerHTML for div-taggen).
Jeg vurderte selvfølgelig å lage en åpnere og konfigurerbar løsning så flere kunne implementere dette på sine servere, men jeg følte meg litt i det egoistiske hjørnet.
Antispamgreie Mon, Oct 10. 2005
Edit: Jeg vil heller oppfordre folk til å melde seg inn i Project Honeypot hvis de har en hjemmeside.
Vedlikehold Wed, Sep 28. 2005
Og så vil jeg minne på om at diktsamlingen stadig utvides. Sist ute er "Den vi er", som jeg dessverre egentlig har verken tittel eller forfatter på...
Edit: Det er et sitat fra skuespillet "Art" av Yesmina Reza.
Ellers er det travelt på jobb for tiden. Det blir liksom så mye ekstra planlegging når man ikke har undervist før og er veldig oppsatt på at ting MÅ bli riktig.
Til helga er Kjersti bortreist, så da stikker jeg ut og drukner rastløsheten min litt.
Valggjennomgang Sun, Sep 11. 2005
Jeg har også flytta spilleserveren min over til en skikkelig publiseringsløsning. Det ble riktignok ikke så pent å bare flytte designet rett over, så jeg må se om jeg får tid å lage et penere design til den etterhvert...
