[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/privacyprotection/cron/task/anonymize_ip.php on line 83: A non-numeric value encountered
Inoffizielles deutsches Xbase-Forum • Dynamische HTML-Seite [Erledigt]
Seite 1 von 1

Dynamische HTML-Seite [Erledigt]

Verfasst: Do, 07. Mär 2013 16:28
von Martin Altmann
Moin moin,
hier gibt es doch sicherlich einige, die wesentlich fitter in HTML/JS sind, als ich.
Ich möchte eine HTML-Seite aus Xbase++ heraus erzeugen (kein Problem), die alle 30 Sekunden erneut geladen wird (auch kein Problem).
Allerdings möchte ich Textteile auf der Seite alle zehn Sekunden durch andere Texte ersetzen lassen. Sicherlich mittels eine Javascript-Funktion. Hat da jemand einen Tip für mich?
Zur Verdeutlichung ein kleines Beispiel - gegeben sei z.B. folgende Tabelle:

Code: Alles auswählen

 Name     Platz  Punkte
 ABC        1      47
 DEF        2      13
 GHI        3       3
Ich möchte jetzt alle 10 Sekunden die drei Spaltenüberschriften mit anderem Text überschreiben (z.B. deren Übersetzung in Englisch bzw. Französisch). Dazu müsste ich ja wahrscheinlich die entsprechene TD mit jeweils einem eindeutigen Namen versehen und diesen in einem Skript, das entsprechend alle 10 Sekunden aufgerufen wird, durch einen anderen Inhalt ersetzen - abhängig von einer lokalen Variable in der Funktion entsprechend in Deutsch (1. Aufruf), Englisch (2. Aufruf), Französisch (3. Aufruf). Wie mache ich das am Einfachsten?
Oder hat jemand eine bessere Idee?

Viele Grüße,
Martin

Re: Dynamische HTML-Seite

Verfasst: Fr, 08. Mär 2013 9:00
von urbi
Hi Martin,

ich habe das so ähnlich mit Ajax gelöst, da kannst du in einer Schleife mit settimeout verzögert daten vom server nachladen.
etwa so:

Code: Alles auswählen

<script type="text/javascript"><!--

var http = null;
if (window.XMLHttpRequest) {
   http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
   http = new ActiveXObject("Microsoft.XMLHTTP");
}
dann in eine schleife
http.open("GET", "./texte/text1..txt", true);
den text laden und anschliesend ausgeben

Code: Alles auswählen

function ausgeben() {
   if (http.readyState == 4) {
      document.getElementById("info1").innerHTML= http.responseText;
   }
Gruß Rainer

Re: Dynamische HTML-Seite

Verfasst: Fr, 08. Mär 2013 18:41
von Martin Altmann
Hallo Rainer, vielen Dank für den Ansatz. In meinem Fall brauche ich die Texte jedoch nicht nachladen - die können ruhig in der HTML-Datei enthalten sein und brauchen nur alternierend angezeigt zu werden.
Viele Grüße,
Martin

Re: Dynamische HTML-Seite

Verfasst: Mo, 11. Mär 2013 10:37
von nightcrawler
Martin Altmann hat geschrieben:Allerdings möchte ich Textteile auf der Seite alle zehn Sekunden durch andere Texte ersetzen lassen.
Nimm jQuery:

Code: Alles auswählen

<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
var i=0;
function toggle()
{
  //alert("test");
  if (i==0)
  {
    $("#a").text('abc');
    i=1;
  }
  else
  {
    $("#a").text('def');
    i=0;
  }
};
window.setInterval(toggle, 500); //500 msec
</script>

</head>
<body>
<H1>Test zur Aktualisierung</H1>
<p id='a'>Initialtext</p>
</body>
</html>

Re: Dynamische HTML-Seite

Verfasst: Mo, 11. Mär 2013 12:58
von Martin Altmann
Moin Joachim,
prima - vielen Dank. Werde ich die Woche mal probieren. Die im Header genannte jquery-1.9.1.js habe ich schon mal heruntergeladen - der PC, der zum präsentieren genutzt werden soll, hängt nicht am Internet.

Viele Grüße,
Martin

Re: Dynamische HTML-Seite [Erledigt]

Verfasst: Mo, 11. Mär 2013 13:44
von Martin Altmann
So - habe es jetzt wie folgt probiert und werde es dann so umsetzen:

Code: Alles auswählen

<html>
<head>
<meta http-equiv="refresh" content="30">
<script type="text/javascript">
var i=0;
function toggle()
{
var xyz = document.getElementById ("a");
  if (i==0)
  {
    xyz.innerHTML = "abc";
    i=1;
  }
  else if (i==1)
  {
    xyz.innerHTML = "def";
    i=1;
  }
  else
  {
    xyz.innerHTML = "ghi";
    i=0;
  }
};
window.setInterval(toggle, 10000);
</script>

</head>
<body>
<H1>Test zur Aktualisierung</H1>
<p id='a'>Initialtext</p>
</body>
</html>
Funzt wie gewünscht - auf ghi wird es nie gesetzt (habe ich nur zur Kontrolle reingemacht), da ja nach 30 Sekunden die Seiten komplett neu geladen wird.
Nach diesem Schema werde ich nun die Ergebnisseite zusammenbauen und dann immer im 10 Sekunden-Wechsel die Feldbezeichnungen wechselweise in Deutsch, Englisch und Französisch anzeigen lassen.

Viele Grüße,
Martin

Re: Dynamische HTML-Seite [Erledigt]

Verfasst: Do, 21. Mär 2013 21:17
von Martin Altmann
So,
falls jemand mal ein Beispiel sehen will, wie das mit dem Refresh der HTML-Seiten jetzt funktioniert:
Einfach das ZIP auspacken und die index.hml aufrufen - und wenigstens eine Minute beobachten.
html.zip
Refresh und Wechsel der Anzeige innerhalb einer HTML-Seite
(9.51 KiB) 304-mal heruntergeladen
Viele Grüße,
Martin

Re: Dynamische HTML-Seite [Erledigt]

Verfasst: Do, 21. Mär 2013 23:05
von brandelh
ich sehe 20 Zeilen auf meinem 24" Monitor ;-)

Re: Dynamische HTML-Seite [Erledigt]

Verfasst: Fr, 22. Mär 2013 4:07
von Martin Altmann
:D
Ist ja nur eine Beispielseite - stell Dir vor, diese Ausgabe wird im Browser im Kioskmode mittels Beamer auf eine Leinwand in einer großen Halle übertragen.
Da wird die Seite in der Anzeige sicherlich auch noch gezoomed werden.

Viele Grüße,
Martin

Re: Dynamische HTML-Seite [Erledigt]

Verfasst: Fr, 22. Mär 2013 7:43
von brandelh
ich habe nur deine Frage beantwortet, "wieviele Zeilen sehen Sie ..." ;-)