mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 18:39 Benutzername: Passwort: Auto-Login

Thema: Lauzeile mit externe TXT und automatischer Aktualisierung vom 15.07.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Lauzeile mit externe TXT und automatischer Aktualisierung
Seite: 1, 2  Weiter
Autor Nachricht
ansd
Threadersteller

Dabei seit: 20.12.2009
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Do 15.07.2010 12:46
Titel

Lauzeile mit externe TXT und automatischer Aktualisierung

Antworten mit Zitat Zum Seitenanfang

Hallo liebe Gemeinschaft,

recherchiere und experementiere nun seit 2 Wochen an diesem Thema.
Hier die Anforderung und was ich bisher ausprobiert habe....

Anforderungen:
Einen horizontale Laufschrift, ob in Flash, mit Javascript/Xml oder PHP ist an erster Stelle nicht wichtig.
Vorzugsweise in Java wäre gut, da dies auch von der Kompabilität am einfachsten wäre.
Nun es befindet sich eine TXT Datei auf dem Webserver, welche je nach Veränderung, aktualisiert wird.
Das heisst, wenn ein Mitarbeiter die Datei bearbeitet, wird diese automatisch auf den Webserver hochgeladen.
Bisherhin alles jut soweit. Nun jetzt möchten wir allerdings, dass durch ein Script die Veränderung erkannt und automatisch in einem Iframe, Div oder Flashdatei auf der Website in der Laufschrift aktualisiert wird.

Bisher habe ich gemacht...
Habe unzählige Java- und Flashscripts ausprobiert und habe immer nur ein Teil geschafft...

@Javascript
Bei Javascript habe ich das Problem eine externe txt reinzuladen, für die automatische Aktualisierung habe ich folgenden Code gefunden den ich noch analysieren muss
ActionScript:

Code:
   
<script type="text/javascript">
// Iframe alle 10 Sekunden neu laden
function neu_laden() {
  var Heute = new Date();
  if (Heute.getSeconds() == 0 ||
      Heute.getSeconds() == 10 ||
      Heute.getSeconds() == 20 ||
      Heute.getSeconds() == 30 ||
      Heute.getSeconds() == 40 ||
      Heute.getSeconds() == 50) {
    parent.fenster.location.href="aktuell.htm";
  }
}
setInterval('neu_laden()', 1000);
</script>
...
<iframe name="fenster" src="aktuell.htm" width="200" height="300"></iframe>


Nun mit Javascript bekomme ich die Aktualisierung via iFrame nicht hin und möchte auch
soweit möglich auf Javascript verzichten aufgrund von Code-Überflutung.

@PHP
PHP ist nicht so mein Fachgebiet. Hier habe ich allerdings auch unzählige Scripts verwendet und aussprobiert. Folgender Script schien mir am günstigsten
ActionScript:

Code:
   
   <?php
print("</table>");
print("<table><tr><td></td></table>");
print("<table width=\"400\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\" bgcolor=\"#ffffff\">");
print("<tr><td class=\"txtoku\">");
print("<iframe frameborder=no height=220 marginheight=0 marginwidth=0 name=txtoku scrolling=no src=\"daten.txt\" style=\"PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px\" width=\"100%\" target=\"_top\">");
print("Browserýnýz iframe desteklemiyor.");
print("</iframe><br>");
?>


Hier Funktioniert es nur im IE und nicht im Firefox und die automatische Aktualisierung ist hier auch nicht geschafft.

@FLASH
Eine Laufschrift in Flash und das rausholen der Daten aus einer TXT Datei ist relativ einfach. Habe ich auch schon bereits hinbekommen. Hier ist bloß das Problem dass ich bisher kein Script gefunden habe, wo man NICHT IN DER TEXT Datei Variablen deklarieren muss. Die TXT Datei darf nur original TextInhalt beeinhalten und keine Codes!!! Hier ist auch das Problem mit der automatischen Aktualisierung der Laufzeile.


@ZU LETZT NOCH MARQUEE
Mal simple den code runtergeschrieben...

<div>
<marquee>
<iframe src"ticker.txt"></iframe>
</marquee>
</div>

Dies klappt auch soweit und die automatische aktualisierung des Div´s auch. ALLERDINGS
sieht die Textdatei so aus, dass da Zeilenumbrüche vorhanden sind. Bekanntlich ladet iFrame den Kompleten inhalt in einen Container unabhängig ob Umbrüche vorhanden oder nicht.

Die Text Datei sieht ca so:

+++ Tickermeldung 1
+++ Tickermeldung 2
+++ Tickermeldung 3
+++ Tickermeldung 4
usw...

Nun soll das ganze aber Waagerecht laufen im Ticker. Gemeint ist es so...

<Laufzeile ANFANG von Rechts nach links>
+++ Tickermeldung 1 +++ Tickermeldung 2 +++ Tickermeldung 3 +++ Tickermeldung 4
</Laufzeile ENDE von Rechts nach links>

Stattdessen läuft es so:

<Laufzeile ANFANG>
+++ Tickermeldung 1
+++ Tickermeldung 2
+++ Tickermeldung 3
+++ Tickermeldung 4
<Laufzeile ENDE>

Die Textdatei abzuändern ist ein NO GO...die muss so bleiben.

Zusammengefasst:
- Laufleiste sollte wenn möglich recht flüssig laufen
- Laufleiste soll Daten aus externer TXT holen
- Laufleiste sollte bei jeder Veränderung (oder Alternativ x Sek. mal den DIV oder Container aktualisieren) sich selbst automatisch aktualisieren.
- TXT Datei sollte für den Besucher nicht findbar oder an Hand des Codes Verfolgbar sein

Bin mit meinem Latein am Ende. Gerne bin ich auch bereit gegen Entlohnung diese Laufleiste einrichten zu lassen.

Wäre sehr über Vorschläge erfreut!

Danke!


Zuletzt bearbeitet von ansd am Do 15.07.2010 13:00, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst Do 15.07.2010 13:16
Titel

Antworten mit Zitat Zum Seitenanfang

1. php

mit file_get_contents() oder vergleichbarem die datei auslesen und entsprechend in form bringen

2. html

mit marquee die ausgabe machen

// edit:

kleiner test. so oder so in der art kannst dus machen.

http://local.dialogpoint.de/test/test.php

http://local.dialogpoint.de/test/test.phps


Zuletzt bearbeitet von pRiMUS am Do 15.07.2010 13:28, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
ansd
Threadersteller

Dabei seit: 20.12.2009
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Do 15.07.2010 13:48
Titel

Antworten mit Zitat Zum Seitenanfang

Jo danke für die Antwort. Hab´s schon ausprobiert und funktioniert...

Code:

<marquee onmouseover=this.stop() onmouseout=this.start() behavior="scroll" scrolldelay="5" scrollamount="5">
<font face="Arial" size="1" color="#000000">

<?php echo file_get_contents('http://www.domain.de/text.txt'); ?>

</font>
</marquee>


Das Problem wäre schon gelöst, wobei es eleganter wäre wenn ich die HTML DATEI nicht in *.php umbennen muss. Aber egal man kann ja nicht alles haben.

Nun das nächste Problem...wie schaffe ich das mit der automatischen aktualisierung des containers?




pRiMUS hat geschrieben:
1. php

mit file_get_contents() oder vergleichbarem die datei auslesen und entsprechend in form bringen

2. html

mit marquee die ausgabe machen

// edit:

kleiner test. so oder so in der art kannst dus machen.

http://local.dialogpoint.de/test/test.php

http://local.dialogpoint.de/test/test.phps


Zuletzt bearbeitet von ansd am Do 15.07.2010 13:48, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 15.07.2010 14:00
Titel

Antworten mit Zitat Zum Seitenanfang

http://de.wikipedia.org/wiki/Ajax_%28Programmierung%29
http://ajaxpatterns.org/Periodic_Refresh


Zuletzt bearbeitet von m am Do 15.07.2010 14:01, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
ansd
Threadersteller

Dabei seit: 20.12.2009
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Do 15.07.2010 15:14
Titel

Antworten mit Zitat Zum Seitenanfang

m hat geschrieben:
http://de.wikipedia.org/wiki/Ajax_%28Programmierung%29
http://ajaxpatterns.org/Periodic_Refresh



gracias amigo. aber deine links bringen mich auch nicht weiter *zwinker*!
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 15.07.2010 16:42
Titel

Antworten mit Zitat Zum Seitenanfang

Doch, musst es dir natürlich schon mal ansehen *zwinker*

Ist sogar ein vollständiges Beispiel zu finden:

http://ajaxpatterns.org/Periodic_Refresh
Code:
<script type="text/javascript">
var page = "online.php";
function ajax(url,target) {
  // native XMLHttpRequest object
  document.getElementById(target).innerHTML = 'Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    req.onreadystatechange = function() {ajaxDone(target);};
    req.open("GET", url, true);
    req.send(null);
    // IE/Windows ActiveX version
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLDOM");
    if (req) {
      req.onreadystatechange = function() {ajaxDone(target);};
      req.open("GET", url, true);
      req.send(null);
    }
  }
  setTimeout("ajax(page,'scriptoutput')", 5000);
}

function ajaxDone(target) {
  // only if req is "loaded"
  if (req.readyState == 4) {
    // only if "OK"
    if (req.status == 200 || req.status == 304) {
      results = req.responseText;
      document.getElementById(target).innerHTML = results;
    } else {
      document.getElementById(target).innerHTML="ajax error:\n" +
      req.statusText;
    }
  }
}
</script>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
ansd
Threadersteller

Dabei seit: 20.12.2009
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Do 15.07.2010 17:47
Titel

Antworten mit Zitat Zum Seitenanfang

Danke für die Rückmeldung. Wer lesen kann ist sicherlich im Vorteil *zwinker*.
Wo genau baue ich den Code ein im Header oder body?


m hat geschrieben:
Doch, musst es dir natürlich schon mal ansehen *zwinker*

Ist sogar ein vollständiges Beispiel zu finden:

http://ajaxpatterns.org/Periodic_Refresh
Code:
<script type="text/javascript">
var page = "online.php";
function ajax(url,target) {
  // native XMLHttpRequest object
  document.getElementById(target).innerHTML = 'Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    req.onreadystatechange = function() {ajaxDone(target);};
    req.open("GET", url, true);
    req.send(null);
    // IE/Windows ActiveX version
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLDOM");
    if (req) {
      req.onreadystatechange = function() {ajaxDone(target);};
      req.open("GET", url, true);
      req.send(null);
    }
  }
  setTimeout("ajax(page,'scriptoutput')", 5000);
}

function ajaxDone(target) {
  // only if req is "loaded"
  if (req.readyState == 4) {
    // only if "OK"
    if (req.status == 200 || req.status == 304) {
      results = req.responseText;
      document.getElementById(target).innerHTML = results;
    } else {
      document.getElementById(target).innerHTML="ajax error:\n" +
      req.statusText;
    }
  }
}
</script>
  View user's profile Private Nachricht senden
DerM

Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Do 15.07.2010 17:52
Titel

Antworten mit Zitat Zum Seitenanfang

Script Blöcke werden für gewöhnlich vor dem schließendem Body Tag untergebracht. also
Code:

.....
<script>...</script>
</body>
</html>




ansd hat geschrieben:
Danke für die Rückmeldung. Wer lesen kann ist sicherlich im Vorteil *zwinker*.
Wo genau baue ich den Code ein im Header oder body?


m hat geschrieben:
Doch, musst es dir natürlich schon mal ansehen *zwinker*

Ist sogar ein vollständiges Beispiel zu finden:

http://ajaxpatterns.org/Periodic_Refresh
Code:
<script type="text/javascript">
var page = "online.php";
function ajax(url,target) {
  // native XMLHttpRequest object
  document.getElementById(target).innerHTML = 'Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    req.onreadystatechange = function() {ajaxDone(target);};
    req.open("GET", url, true);
    req.send(null);
    // IE/Windows ActiveX version
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLDOM");
    if (req) {
      req.onreadystatechange = function() {ajaxDone(target);};
      req.open("GET", url, true);
      req.send(null);
    }
  }
  setTimeout("ajax(page,'scriptoutput')", 5000);
}

function ajaxDone(target) {
  // only if req is "loaded"
  if (req.readyState == 4) {
    // only if "OK"
    if (req.status == 200 || req.status == 304) {
      results = req.responseText;
      document.getElementById(target).innerHTML = results;
    } else {
      document.getElementById(target).innerHTML="ajax error:\n" +
      req.statusText;
    }
  }
}
</script>
  View user's profile Private Nachricht senden
 
Ähnliche Themen [PHP] aktualisierung
Aktualisierung bei Suchmaschinen
Webseiten-Inhalt-Aktualisierung
Bildwechsel bei Aktualisierung der Seite
marko aktualisierung in excel 2007
Fragen zur Aktualisierung einer Webseite...
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.