Ostatnio udało mi się zrobić kawałek fajnego Javascriptu. Gdy już wszystko działało w FF, Chrome, Safari, to trzeba było przetestować to w IE. Akurat nawinął się IE8, najnowszy i wydawałoby się że wszystko tam ma… ale gdzie tam! Przecież to IE, tam nigdy wszystkiego nie ma. Na szczęście IE8 mówi w którym miejscu Javascriptu go coś boli i tak doszedłem do tego, że coś jest nie tak z funkcją indexOf działającą na tablicach. Nawet Aptana (taki Eclipse dla PHP, JS itp.) o tym informuje w swojej pomocy:
Reszta to przykład zastosowania. Najważniejsza linia to oczywiście:
Supported: Mozilla 1.0+; Netscape 3.0+
Gdybym ja to przeczytał wcześniej… Funkcja nie działa tylko w IE. Daleko nie szukając, można znaleźć szybkie rozwiązanie dla niepełnosprawnego IE:
if(!Array.indexOf){
Array.prototype.indexOf = function(obj){
for(var i=0; i
Albo można jeszcze prościej, jeśli używamy jQuery:
jQuery.inArray(value, array);