Keskustelu järjestelmäviestistä:Monobook.js

Wikipediasta
Siirry navigaatioon Siirry hakuun

Epästandardia Javascriptiä[muokkaa wikitekstiä]

Kaksi tämän skriptin lopussa olevaa funktiota käyttää innerHTML-attribuuttia, joka ei ole osa mitään merkittävää Javascript-rajapintoja määrittävää standardia. Se on alun perin IE4:stä peräisin oleva Microsoftin epästandardi laajennos, jota kuvataan mm. seuraavasti (lainaus [1]):

In IE4 the only way to create elements where to insert a html string that contained the markup needed for the element. This method is pretty limited but in conjunction with the W3C DOM it is really useful. It is even so powerful that the Mozilla engineers agreed to add the IE proprietary property, innerHTML, after a lot of demands from the developer community.

Kuten ah niin monessa muussakin Javascript-API-kysymyksessä, ei ole siis millään tavalla taattua, että mikään selain tukee tuota, siitäkään huolimatta että se esim. Mozillassa ja Konquerorissa sattuu toimimaan.

Saman pystyy tekemään myös puhtaalla W3 DOMilla, tosin en tähän heti osaa heittää valmista koodia. Pääpiirteissään

  1. luodaan uusi Element-olio (jotain tyyliin var s = document.createElement("span"))
  2. pistetään sille pari argumenttia (s.setAttribute...?)
  3. heitetään se paikalleen appendChildillä (k.appendChild(s)?)

Helpompiakin tapoja varmaan löytyy, mutta tuo tulee heti ensimmäisenä mieleen. -- Japsu 7. toukokuuta 2005 kello 23:07:55 (UTC)

Ai niin, vielä toinen juttu. Usutan tuhannen fanaatikon haamut kimppuunne, jos käytätte mitään missä lukee esim. createContextualFragment joka sattuu olemaan Mozillan oma laajennos... W3 DOM on Ainoa Totuus™ jota tässä kannattaa seurata :) -- Japsu 7. toukokuuta 2005 kello 23:17:10 (UTC)