window.onload vs document.onload

Kuris yra labiau palaikomas: window.onload ar document.onload?

Sprendimas

Kada jie paleidžiami?

window.onload

  • Pagal numatytuosius nustatymus jis paleidžiamas, kai įkeliamas visas puslapis, įskaitant** jo turinį (paveikslėlius, CSS, skriptus ir t. t.).

Kai kuriose naršyklėse jis dabar perima document.onload vaidmenį ir taip pat paleidžiamas, kai DOM yra paruoštas.

document.onload

  • Jis iškviečiamas, kai DOM yra paruoštas, o tai gali būti pirmiau nei įkeliami paveikslėliai ir kitas išorinis turinys.

Kaip gerai jie palaikomi?

Panašu, kad window.onload yra plačiausiai palaikoma. Tiesą sakant, kai kurios moderniausios naršyklės tam tikra prasme document.onload pakeitė window.onload.

Naršyklių palaikymo problemos greičiausiai yra priežastis, kodėl daugelis žmonių pradeda naudoti tokias bibliotekas kaip jQuery, kurios atlieka dokumento parengtumo patikrinimą, pvz:

$(document).ready(function() { /* code here */ });
$(function() { /* code here */ });

Dėl istorijos. window.onload vs body.onload:

Panašus klausimas buvo užduotas codingforums prieš kurį laiką

atgal dėl window.onload, o ne body.onload naudojimo. Atsakymas Rezultatas buvo toks, kad reikia naudoti window.onload, nes jis yra gerai atskirti struktūrą nuo veiksmo.

Komentarai (11)

window.onload, tačiau dažnai tai yra tas pats dalykas. Panašiai body.onload IE tampa window.onload.

Komentarai (0)

Tačiau Window.onload yra standartas - PS3 interneto naršyklė (pagrįsta "Netfront") nepalaiko objekto window, todėl jo naudoti negalite.

Komentarai (0)