How to detect if Raphaël is supported by the browser

Raphaël will set Raphael.type to ‘SVG’ when browsers supports it. Otherwise it will try to use VML and if it detects support, it sets type to ‘VML’. If not, type is set to null. So if you would like to use a fallback method of some kind, it would be beneficial to detect the condition of Raphaël not being supported by the browser. This is how you would do it:

if (Raphael.type) {
	//user Raphaël normally
} else {
	//fallback code
}

Another issue that I experienced when trying out the library in my previous post was that the text method failed in IE due to an ‘unknown runtime error’, so I had to fall back to PNG. This is easy to do by checking the value of the Raphael.type as well.

(This quick post is just for all the other poor souls out there like me that would like to quickly find a solution to this problem thru Google without actually reading the source code.)

Päivitä selaimesi

Lauri Seppänen:

Sivuston tunnistus ei muuten nojaa täysin selaimen tun­nis­te­merk­ki­jo­noon (user agent string), vaan käyttää myös (ilmeisesti) skriptipohjaista tunnistusta.

Mitähän tämä skriptipohjainen mahtaa tarkoittaa? Sorsaa kun katsoo, niin heti toisessa skriptiblokissa tutkaillaan navigator.userAgentin sisältöä ja tehdään päätelmiä sen perusteella. Sama merkkijono tuo on kuin palvelimelle välitettävä HTTP:n User-Agent-otsikkokenttä.

seppänen-et.fi/… →

530 tagin uudelleennimeäminen

Olin tagittanut Deliciousiin englannin kielellä ja omaan blogiini suomeksi. Kun otin käyttöön automaattipostaukset, piti tehdä käännöstyö kaikille 530 tagilleni. Samalla piti muuttaa kirjoitusasu kaikki pienellä -tyylistä luonnolliseksi. Delicious pakottaa yhden sanan tageihin, mutta hyvät tagisysteemit eivät. Päädyin korvaamaan sanavälit alaviivalla ja sitten WordPressin päässä juuri ennen tallennusta korvaan ne välilyönneillä.

Harmi vain, että Deliciousin käyttöliittymä tagien uudelleennimeämiseen ainakin noin massiivisessa skaalassa on äärimmäisen turhauttava:

Prosessi menee näin:

  1. Valitaan pudotusvalikosta 530 muun tagin joukosta haluttu tagi
  2. Viedään fokus pudotusvalikon alla olevaan kenttään
  3. Kirjoitetaan tagin uusi nimi kenttään
  4. Klikataan Save
  5. Odotetaan viitisen sekuntia
  6. Klikataan Rename another tag
  7. Odotetaan viitisen sekuntia
  8. Siirrytään kohtaan 1.

Tuota muutaman tagin verran tuskailtuani avasin GreaseMonkeyn ja aloin kirjoittaa JavaScriptiä. Reilua varttia myöhemmin minulla oli kasassa tämännäköinen systeemi:

Nyt prosessi menee näin:

  1. Klikataan valintalistalta tagia
  2. Tekstikenttään tulostuu klikattu tagi ja fokus siirtyy siihen. Korjataan tagin kirjoitusasu
  3. Painetaan enter
  4. Odotetaan pari sekuntia (lomake lähtee Ajax-pyyntönä eikä sivulta poistuta mihinkään)
  5. Siirrytään kohtaan 2. (listan seuraava tagi valittiin automaattisesti ja sen nimi asetettiin tekstikenttään oletusarvoksi)

Nopeasti laskien koodaussessioni maksoi helposti itsensä takaisin. Mutta vaikka se ei olisikaan maksanut, niin säilytetty verenpaine oli sen arvoista joka tapauksessa. Koodi on tarjolla vapaasti ladattavaksi ja hyödynnettäväksi niille, joita sattuu kiinnostamaan mitä tuollainen vaati. Varoitan, ettei jälki ole lainkaan kaunista.

Tämän myötä GreaseMonkey myi minut itselleen lopullisesti. Aikaisemmin olinkin sillä oikeastaan vain korjannut tietokone.fi:n äärimmäisen ärsyttävän, normaalin selailun tehokkaasti estävän automaattifokuksen.