Javascript insertAdjacentElement, insertAdjacentHTML, insertAdjacentText Cross Browser Compatibility

Dalam posting sebelumnya Expandable HTML form element with Javascript insertAdjacentHTML saya sharing script untuk membuat form dinamis script tersebut sudah saya test tetapi hanya di Internet Explorer saja, tetapi beberapa waktu lalu saya mendapat task untuk bugfixxing dan ternyata bug-nya adalah script Expandable HTML tersebut. masalahnya adalah tidak cross browser compatible.

Mozzila Firefox memang tidak mengenali fungsi insertAdjacentHTML

Cross browser problem huh.. paling bete klo berhadapan dengan problem yang satu ini he eh. setelah ber-googling ria akhirnya ketemu pemecahannya (google is tha best). Mozzila Firefox memang tidak mengenali fungsi insertAdjacentHTML, so dengan menambahkan block script di bawah ini semua fungsi insertAdjacentElement, insertAdjacentHTML, insertAdjacentText bisa berjalan baik di Mozilla FireFox.

if(typeof HTMLElement!=“undefined” && !
HTMLElement.prototype.insertAdjacentElement){
HTMLElement.prototype.insertAdjacentElement = function
(where,parsedNode)
{
switch (where){
case ‘beforeBegin’:
this.parentNode.insertBefore(parsedNode,this)
break;
case ‘afterBegin’:
this.insertBefore(parsedNode,this.firstChild);
break;
case ‘beforeEnd’:
this.appendChild(parsedNode);
break;
case ‘afterEnd’:
if (this.nextSibling)
this.parentNode.insertBefore(parsedNode,this.nextSibling);
else this.parentNode.appendChild(parsedNode);
break;
}
}
HTMLElement.prototype.insertAdjacentHTML = function
(where,htmlStr)
{
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.insertAdjacentElement(where,parsedHTML)
}
HTMLElement.prototype.insertAdjacentText = function
(where,txtStr)
{
var parsedText = document.createTextNode(txtStr)
this.insertAdjacentElement(where,parsedText)
}
}

Thats it, sekarang fungsi tersebut sudah bisa dipake untuk Firefox.

3 Responses to “Javascript insertAdjacentElement, insertAdjacentHTML, insertAdjacentText Cross Browser Compatibility”


  1. 1 vandai

    ini dimasukinnya dimana??
    ganti yang fungsi sebelumnya atw tambahan???

  2. 2 ariel

    ditambahkan sebelum javascript di posting sebelumnya :)

  1. 1 Expandable HTML form element with Javascript insertAdjacentHTML at Web Design Programming & Lifestyles

Leave a Reply