The Denny Depok

The Denny Depok

Gosipin IT Bareng Mas Denny Depok Yuk…

The Denny Depok RSS Feed
 
 
 
 

The Good And The Evil Of InnerHTML

Sejak AJAX dan Web 2.0 jadi tren di Web Programming, ada beberapa bagian web yang sebenernya udah ada dari dulu jadi hal yang penting. Pertama tentu aja XML (loh bukannya X di ajax itu XML ?? - red), trus CSS, dan terakhir tentu aja InnerHTML.

Buat yang udah ngoding AJAX tapi belum maen-maen dengan 3 hal diatas, kasian deh kamu… :D Apa enaknya maen ajax tapi gak ngulik XML, CSS dan InnerHTML ??

XML dan CSS standar lah ya… termasuk juga teriakan-teriakan bete programmer web karena IE gak beres banget ngedraw CSSnya. Masa sih hack XML/CSS khusus untuk IE doang sedang browser laen pada sepakat !!! Maka dari itu, mulailah tinggalkan IE :D :D :D –> walau saya ngakuin IE 7 OK juga speednya, mungkin speednya mirip FireFox, tapi masih kalah sama opera. Kalo IE 6 kebawah, kelaut aja deh, uninstall trus delete permanen (bisa gak pake low level delete ? :D).

Disini saya mo ngebahas InnerHTML. Apaan tuh ? Sebenernya InnerHTML tuh fungsi DOM browser, jadi kita bisa ngubah-ngubah isi suatu div / span / layer on the fly, jadi tampilan bisa dinamik.

jadi contoh kita punya html kayak gini…

<div id="pesan">Pesan Awal</div>

nah setelah dapet response dari AJAX, kita mo ganti isi dari div diatas, cara yang paling gampang adalah dengan :

document.getElementById("pesan").innerHTML = ajaxResponse;

emang sih dari referensi yang ada, pemakaian innerHTML gak disarankan, kita disarankan menggunakan fungsi-fungsi DOM untuk ngubah isi suatu node, tapi kalo ngerubahnya ribet banget, misalnya jadi nambah kontrol baru (ini biasa terjadi di purefect desktop), pemakaian fungsi dom berlebihan banget, maksudnya programmernya udah resign duluan sebelum programnya selesai :D :D :D

Makanya dengan pemakaian innerHTML, penambahan node baru jadi super gampang dan feasible untuk diprogram.

Tapi tunggu dulu, disamping kemudahan innerHTML, ada sisi gelapnya. Yaitu kalau anda melakukan set nilai ke innerHTML, maka proses yang dilakukan oleh browser adalah sebagai berikut :

1. delete node yang ada
2. parsing HTML yang baru di set
3. gambar sesuai dengan html baru

yang perlu diperhatiin adalah langkah 1. Dengan sifatnya begitu, maka gak feasible kalo kita melakukan proses penambahan innerHTML seperti ini :

document.getElementById("pesan").innerHTML += newAddedHTML;

kalo misalnya innerHTML sebelumnya udah kompleks banget maka proses diatas akan memakan waktu, mungkin menimbulkan kesan browsernya hang –> inget semua browser cuma punya 1 thread untuk ngegambar HTML, jadi kalo ada yang mo buat browser multithread, saya terima kasih banget –> bisa jadi bahan skripsi nih !

Jadi gimana dong ? masa untuk yang udah kompleks kita harus kembali ke fungsi DOM sih. Ya gimana lagi, tapi saya punya tips dikit. Daripada semua pake fungsi DOM, saya membatasi redraw innerHTML. Caranya ?? gini kalo mo tau…

skenarionya, udah ada HTML yang kayak gini :

<div id="pesan">
<div id=”pesan1″>ini yang pertama</div>
</div>

trus kita mo rubah jadi kayak gini :

<div id="pesan">
<div id=”pesan1″>ini yang pertama</div>
<div id=”pesan2″>ini yang kedua</div>
</div>

nah tehniknya adalah sebagai berikut :

// javascript code nih

var node = document.createElement("div");
node.id = “pesan2″;

// set style seperlunya, contoh :
node.style.color = “#FF00FF”;
node.innerHTML = “ini yang kedua”;

document.getElementById("pesan").appendChild(node);

Jadi idenya adalah kita nambahin dulu kontainernya. Penambahan kontainer pake fungsi dom appendChild enggak menyebabkan redraw keseluruhan HTML. Nah setelah kontainernya ada, yang kita set innerHTMLnya adalah kontainernya, jadi yang redraw cuma isi kontainernya aja –> yang mana tentu aja masih kosong.

Kalo htmlnya cuma kayak diatas sih gak ngaruh, tapi kalo kamu mrogram aplikasi Web 2.0 yang kompleks kayak purefect, maka teknik diatas ngaruh banget.

Gitu deh tips dari saya. Kalo ada yang mo nanya-nya silakan aja, mo pos di komen ato langsung email ke denny(at)klorofil.org

2 Responses to “The Good And The Evil Of InnerHTML”

  1. 1
    Clomid and provera.:

    Clomid….

    Soy isoflavones clomid. Clomid….

  2. 2
    Ivan:

    wah saya cukup sekali utak atik xmlhttprequests, habis itu cari library aja biar development ngebut hehe dsr orang males.

    katanya firefox versi 4 nanti baru bisa multithreading pak. let’s pray pray lah… :)

    salam kenal

Leave a Reply

  • buy diet drug
  • oral antidiabetic agents
  • cat hairball remedies
  • effects of allegra
  • viagra or cialis
  • pregnancy and pain medication
  • diabetes cure
  • cheap pain med
  • weight loss supplements that work
  • best body building products
  • drug loratadine
  • canadian pharmacy cialis
  • weight loss pill without a prescription
  • about sleep aid
  • pre diabetes
  • drugs used for high blood pressure
  • yeast infection medication
  • obesity help online
  • wrinkle skin care
  • where to buy soma
  • diet pill approved by fda
  • total health discount
  • kamagra online pharmacy
  • diet for diarrhea
  • skin cures
  • bone and joint health
  • medicine no prescription
  • nicotine blockers
  • new fda approved drugs
  • allergy asthma child
  • order pet med without prescription
  • discount vitamins online
  • help for edema
  • diet supplements distributors
  • generic revatio
  • viagra generic soft tab
  • weight loss systems
  • buy phentermine online no rx
  • xenical for sale
  • foreign medication no prescription
  • european viagra
  • anti wrinkles
  • cat health information
  • prednisone buy
  • viagra money order
  • rheumatoid arthritis latest treatments
  • what does evening primrose oil do
  • breast cancer help
  • pregnancy approved blood pressure drugs
  • blood pressure prevention
  • living with heart failure
  • ambien without prescription
  • order medicine from canada
  • free prescription medication
  • diabetes alternative medicines
  • discount pharmacy no prescription
  • stop smoke
  • no hangover
  • cheap blue pill
  • medical weight loss
  • kamagra cheap
  • herpes varicella
  • viagra purchase on line
  • weight loss programs online
  • bentyl dosing
  • viagra discount online
  • cialis canadian drug
  • chronic sinus infection
  • osteoporosis treating
  • the cost of treating pain
  • pain reliever
  • cures for erectile dysfunction
  • buy tramadol cheap
  • lexapro sleep
  • acomplia online
  • anti depressant medicine
  • augmentin information
  • how prevent progress of arthritis
  • back pain pills
  • what to do lower blood pressure
  • viagra rx
  • proven weight loss pills
  • osteoporosis treating
  • herpes varicella
  • latest smoking cessation drugs
  • osteoarthritis
  • high amount of acid in blood
  • levitra price
  • lopressor drug
  • zantac prevacid
  • cure hair loss
  • obesity medication
  • cheapest place buy viagra online
  • medication for swelling
  • free xanax
  • weight loss programs online
  • natural treatments for insomnia
  • hair loss product treatment price
  • generic for ultram
  • treatment of yeast infection
  • viagra pills
  • atenolol interaction
  • high blood pressure drug treatment
  • weight loss support group online
  • prednisone 10 mg
  • female sexual enhancement creams
  • what is ativan
  • approved cialis fda
  • prilosec order
  • how to stop hair loss
  • how viagra works
  • cheap cialis tadalafil
  • women's natural hair loss cures
  • free weight loss help
  • pet health problems
  • natural teeth whitening
  • phentermine online
  • allegra children
  • raloxifene evista
  • where can i order phentermine online
  • smoking cessation drugs
  • male enhancement enhancement
  • help for constipation
  • discount anxiety drugs
  • pravastatin drug
  • buying medications online without a prescription
  • anti depression drug
  • effects of prilosec
  • how to get big muscles
  • neck arthritis
  • stop smoking tips
  • levitra web sites
  • arthritis australia
  • bactrim dosages
  • verapamil dose
  • coumadin medication
  • knee arthritis
  • cures for hair loss
  • benefits of aspirin
  • online pharmacy discount drugs
  • buy lisinopril
  • cheap estrace
  • increase bust exercise
  • relieve joint pain naturally
  • dental pain relief
  • buy pain meds no prescription
  • penis enlargement result
  • canadian arthritis medication
  • gout in the foot
  • side effects claritin
  • reducing blood pressure
  • stopping blood pressure medicine
  • generic cialis cheap
  • drug generic lipitor
  • diet supplement
  • fungal infection treatment
  • phentermine with no prescription
  • skin infection treatment
  • medication for high cholesterol
  • cheap weight loss pill
  • order diovan
  • hair loss alternative medicine
  • acne skin care products
  • antibiotics chlamydia
  • male erectile dysfunction
  • diabetes and new drugs
  • acne remedies
  • increase male sexual power
  • supplements for dogs
  • free prescription drugs
  • online pharmacies no prescriptions
  • online canadian pharmacy
  • buy inderal
  • medical weight loss
  • cat skin care
  • robaxin dosage
  • chronic itching and swelling in skin
  • generic for actos
  • alcohol celebrex
  • viagra or cealis
  • buy pain medication online
  • hangover help
  • skin solutions
  • stroke prevention programs
  • viagra free pills
  • canada online drug stores
  • muscular strength
  • benefits of aspirin
  • canadian pharmacy cialis
  • effects of phentermine
  • medication lipitor
  • severe headache
  • medications for diabetes treatment
  • clonazepam overdose
  • medication to treat high blood pressure
  • cold sores help
  • online cialis
  • discount allegra
  • medication for high cholesterol
  • vardenafil effectiveness