JavaScript - Recién empiezo ya con problemas

 
Vista:
sin imagen de perfil
Val: 5
Ha disminuido su posición en 146 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recién empiezo ya con problemas

Publicado por Jordi (3 intervenciones) el 28/06/2020 18:35:12
Buenas a todos, estoy empezando con html y js, y en el curso (lo más básico que puedes encontrar en Platzi), hace una prueba con Atom y una página muy sencilla de calcular el peso en otros planetas.

En el tutorial de Platzi, comenta que el script hay que ponerlo justo antes de cerrar </body), para no bloquear la carga del html. El problema es que cuando lo hago y abro el archivo en Chrome, me carga primero el script y luego muestra el html. En Firefox no me pasa.

¿Qué puede pasar? Adjunto el código,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Calcula tu peso en otros planetas</title>
  </head>
  <body>
    <h1>Tu peso en otro planeta</h1>
    <p>En la Tierra pesas distinto que en otros planetas</p>
    <script type="text/javascript">
      var g_tierra = 9.8;
      var g_marte = 3.7;
      var g_jupiter = 24.8;
      var peso = 77;
      var peso_final;
      peso_final = peso * g_marte / g_tierra;
      alert(peso_final)
 
    </script>
  </body>
</html>

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recién empiezo ya con problemas

Publicado por joel (895 intervenciones) el 28/06/2020 19:20:48
Eso te puede pasar en varios navegadores... la manera correcta, es no ejecutar el código js hasta que se haya cargado la pagina... para ello tienes que utilizar window.onload, algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Calcula tu peso en otros planetas</title>
  </head>
  <body>
    <h1>Tu peso en otro planeta</h1>
    <p>En la Tierra pesas distinto que en otros planetas</p>
    <script>
    window.onload=function(e) {
      var g_tierra = 9.8;
      var g_marte = 3.7;
      var g_jupiter = 24.8;
      var peso = 77;
      var peso_final;
      peso_final = peso * g_marte / g_tierra;
      alert(peso_final)
    }
    </script>
  </body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha disminuido su posición en 146 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recién empiezo ya con problemas

Publicado por Jordi (3 intervenciones) el 28/06/2020 21:12:02
Hola, pues tampoco me ha funcionado, no entiendo qué pasa en Chrome.

Y si en lugar de alert, le pongo document.write, con el window.onload, ni me sale el texto de <h1> y <p>

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recién empiezo ya con problemas

Publicado por joel (895 intervenciones) el 29/06/2020 08:14:32
Es muy extraño, a mi me funciona perfectamente... pero yo utilizo chromium sobre Linux... supongo que alguna cosa es diferente.

La única manera que se me ocurre es esperar a que se cargue el DOM de la pagina...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Calcula tu peso en otros planetas</title>
  </head>
  <body>
    <h1>Tu peso en otro planeta</h1>
    <p>En la Tierra pesas distinto que en otros planetas</p>
  </body>
</html>
<script>
window.addEventListener('DOMContentLoaded', ()=>{
  var g_tierra = 9.8;
  var g_marte = 3.7;
  var g_jupiter = 24.8;
  var peso = 77;
  var peso_final;
  peso_final = peso * g_marte / g_tierra;
  alert(peso_final)
});
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 26
Ha disminuido su posición en 22 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recién empiezo ya con problemas

Publicado por Fabian (10 intervenciones) el 29/06/2020 12:37:30
El script ponelo dentro del <HEAD> así:

1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
  window.onload = function() {
      var g_tierra = 9.8;
      var g_marte = 3.7;
      var g_jupiter = 24.8;
      var peso = 77;
      var peso_final;
      peso_final = peso * g_marte / g_tierra;
      alert(peso_final)
  }
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha disminuido su posición en 146 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recién empiezo ya con problemas

Publicado por Jordi (3 intervenciones) el 29/06/2020 18:35:52
Pues igual, sigue funcionando mal. No se que debe pasar, pero bueno creo que en este caso da igual, ya que tampoco sirve de mucho, pero me intrigaba el por qué no funcionaba.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar