JavaScript - Que estoy haciendo mal....

 
Vista:
sin imagen de perfil

Que estoy haciendo mal....

Publicado por David (5 intervenciones) el 04/04/2022 19:32:56
Hola a todos,

Necesito ayuda para saber que estoy haciendo mal.

Este programa PHP+JS lee el contenido de un archivo txt y lo presenta en un alerta indefinidamente cada intervalos regulares de tiempo (en el ejemplo cada 2000 milisegundos)

Cuando ejecuto el programa con F5, lee correctamente el contenido del archivo de texto, muestra el cartel en pantalla, pero no vuelve a leer el contenido del archivo de texto, que, de manera externa, voy editando y guardando en el servidor, para que se vea el nuevo valor.

Ambos procedimientos (PHP y JS) funcionan por separado. En el programa recompuesto, no hace lo que pretendo, que es mostrar el nuevo contenido del archivo de texto cada vez que vaya a cambiar (mediante otro programa PHP externo).

el programa es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
  header("Access-Control-Allow-Origin: *");
  header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
  header("Cache-Control: post-check=0, pre-check=0", false);
  header("Pragma: no-cache");
?>
 
 
<!DOCTYPE html>
<html>
<head>
 
<meta charset=utf-8 />
<title>TimeOut JS+PHP</title>
 
<script>
 
function customAlert(msg,duration)
{
  var styler = document.createElement("div");
   styler.setAttribute("style","border: solid 1px black;width:50%;height:80px;top:50%;left:40%;background-color:#F55;color:yellow");
  styler.innerHTML = "<h1><center>"+msg+"</center></h1>";
 
  setTimeout(function()
 
  {
    styler.parentNode.removeChild(styler);
    },duration);
    document.body.appendChild(styler);
  }
 
  function caller()
    {
      <?php $content = file_get_contents('10001.txt'); ?>
      customAlert("<?php echo $content; ?>","500");
    }
 
 
    function timeout() {
      setTimeout(function () {
        caller();
        timeout();
      }, 2000);
    }
 
  </script>
</head>
 
<body onload="timeout()"></body>
 
</html>

Si alguien puede encontrar algun error, le voy a quedar eternamente agradecido, porque no le encuentro falla...

El archivo "10001.txt" es un archivo de texto comun que tiene cualquier contenido. En mis pruebas, el contenido es el numero 23456.

Muchas gracias por adelantado,
David de Argentina
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
sin imagen de perfil

Que estoy haciendo mal....

Publicado por antonio (16 intervenciones) el 04/04/2022 20:53:04
Hola buenas es por el customAlert, yo lo he probado con window.alert("<?php echo $content; ?>"); en su lugar y funciona.
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

Que estoy haciendo mal....

Publicado por David (5 intervenciones) el 04/04/2022 20:54:09
Problema resuelto:

Faltaba agregar:

location . reload()

y todo funciona como lo esperado.

Saludos,

David de Argentina
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