Javascript getElementById funkcijos ištaisymas skirtas IE naršyklei

ProgramavimasJavaScript

0 • 4320 •

Programuodami javascriptu galite susidurti su nemaloniu reiškiniu, kai visiems gerai žinomoje microsoft kompanijos interneto naršylėje Internet Explorer (IE) susidursite su situacija kai funkcija getElementById veiks nekorektiškai, nes pagal šios firmos mąstymą ši funkcija gražina ne unikalią nuorodą į elementą, o visą galimų elementų masyvą su tokiomis ID reikšmėmis.

Gerai, jog ši firma pati susiprotėjo ir išleido pataisymą savo funkcijos funkcionalumui apeiti :) Taigi, rašydami javascript kodą ir norėdami, kad jis gerai veiktų ant IE, turėtumėte į .js bylą įkopijuoti sekantį kodo gabalą:

if (/msie/i.test (navigator.userAgent)) 
{
  document.nativeGetElementById = document.getElementById; 
  document.getElementById = function(id)
  {
    var elem = document.nativeGetElementById(id);
    if(elem)
    {
      if(elem.attributes['id'].value == id)
      {
        return elem;
      }
      else
      {
        for(var i=1;i

Sėkmės programuojant :)

 

Pamoka pateikta

Facebook