Explicación de la diferencia entre evento DOMContentLoaded y window.onload