SORU
2 EYLÜL 2010, PERŞEMBE


Neden't karakterlerden oluşan bir dizi IE8 çalışmıyor?

Fonksiyon aşağıda opera güzel, firefox ve chrome çalışır. IE8 ancak if ( allowed.indexOf(ext[1]) == -1) bölümü başarısız oluyor.

Nedenini bilen var mı? Herhangi bariz bir hata var mı?

function CheckMe() {
    var allowed = new Array('docx','xls','xlsx', 'mp3', 'mp4', '3gp', 'sis', 'sisx', 'mp3', 'wav', 'mid', 'amr', 'jpg', 'gif', 'png', 'jpeg', 'txt', 'pdf', 'doc', 'rtf', 'thm', 'rar', 'zip', 'htm', 'html', 'css', 'swf', 'jar', 'nth', 'aac', 'cab', 'wgz');
    var fileinput=document.getElementById('f');
    var ext = fileinput.value.toLowerCase().split('.');
    if ( allowed.indexOf(ext[1]) == -1) 
    {
        document.getElementById('uploadsec').innerHTML = document.getElementById('uploadsec').innerHTML;
        alert('This file type is not allowed!');
    }
}

CEVAP
2 EYLÜL 2010, PERŞEMBE


Internet Explorer 9, Daha önce IE sürümleri Dizi için .indexOf() fonksiyonu the exact spec version kullanmak için denemeden önce bu çalıştırmak tanımlamak zorunda değil:

if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length >>> 0;

    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from  = len;

    for (; from < len; from  )
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}

Bu from MDC, Firefox/SpiderMonkey kullanılan versiyonu. IE gibi diğer durumlarda, bu durumda .indexOf() kayıp...temelde IE8 ya da bu noktada aşağıda katacak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Malwarebytes

    Malwarebytes

    22 Temmuz 2007
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009
  • Tina Chen

    Tina Chen

    26 Mayıs 2012