Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich habe mit JavaScript einen Ticker gebastelt. Der geht auch wunderbar mit dem IE. Aber mit dem Firefox irgendwie überhaupt nicht.

Ich habe es jetzt soweit eingegrenzt, dass er in der Funktion


function ticker_aktualisieren()
{
window.document.getElementById("ticker").innerHTML = reloadticker.formular.nachricht.value
window.setTimeout("ticker_aktualisieren()",5000);
}
[/code]

bei dem window.document.getElementById("ticker")..... im Firefox baden geht und ticker_aktualsieren nicht wieder aufgerufen wird. Ich habe es mit einem alert("hallo") getestet. Wenn das window.document.getElementById("ticker").... nicht drin ist wird der alert alle 5 Sekunden ausgegeben.

Hat jemand eine Idee?

Frank

Hi Frank,

ich meine in Erinnerung zu haben, dass "innerHTML" nur beim IE geht. Versuch mal stattdesssen "innerText".

Gruß,

Markus

hi, Dein

reloadticker.formular.nachricht.value

läuft gg die wand.

was willst Du bezwecken ?

gruss

ich meine in Erinnerung zu haben, dass "innerHTML" nur beim IE geht. Versuch mal stattdesssen "innerText".

Hi!

Muss das leider widerlegen, innerHTML ist eine ganz normale Javascript Eigenschaft: http://de.selfhtml.org/javascript/objekte/all.htm#inner_html

Ich nutze innerHTML auch öfter mal, funktioniert durch die Browser.

Grüße, Tobias

ich habe vor 'Monaten' mal versucht ein Script zu schreiben das innerHTML, document.write und ähnliches benutzt...nach langer suche hat man mir dann erklärt das diese Befehle veraltet sind und nicht mehr unterstützt werden.

Stattdessen ist mit Javascript-DOM das HTML-Element bzw. Textelement zu verändern.

Entsprechend verwirrt bin ich, das es im Selfhtml drinsteht.

ich habe vor 'Monaten' mal versucht ein Script zu schreiben das innerHTML, document.write und ähnliches benutzt...nach langer suche hat man mir dann erklärt das diese Befehle veraltet sind und nicht mehr unterstützt werden.

Stattdessen ist mit Javascript-DOM das HTML-Element bzw. Textelement zu verändern.

Entsprechend verwirrt bin ich, das es im Selfhtml drinsteht.

Hi!

Also veraltet ist es nicht, es wird jedoch immer weniger benutzt. Ein Grund ist z.B., dass X(H)TML Dokumente nicht gültig sind wenn document.write benutzt wird. Man benutzt dann eher document.createTextNode und appendChild und sowas (also Methoden Strikt nach dem DOM).

Gruß, Tobias

Das ist es ja. Es kommt kein JS Fehler. Oder zeigt der Firefox JS Fehler nicht unten links in der Ecke an wie der IE?

Frank

Nein, zeigt er nicht, dafür gibt es unter Extras die JavaScript-Konsole

Was ist denn dein realoadticker für ein Objekt?

Global? Was soll "reloadticker.formular.nachricht.value" denn sein?

Sollte es vielleicht "document.formular.nachricht.value" sein?

Gruß,

Markus

ich empfehle da mit getElementById und nicht mit document.formular.name... zu arbeiten, das ist allgemein sicherer gegen evtl. Namenskollisionen. Im javascript sind bestimmte Wörter reserviert (name, form, value u.a.) und wenn so ein fall auftritt gibt es oft keine 'verständlichen' Fehlermeldungen.

Hi,

gib dem Iframe eine ID und dem Object, das du darin suchst auch.


document.getElementById('IFrame_obj').document.getElementById('Such_obj')

Gruß,

Markus

  • Autor

Also irgendwie funktioniert das nicht.

In der Hauptdatei steht:


<script type="text/javascript">
<!--
window.setTimeout("ticker_aktualisieren()",1000);
-->
</script>

<iframe src="refresh.php" width="600" height="50" border="0" id="iframereload" name="reloadticker"></iframe>
[/code] In der refresh.php steht:
[code]
<form name="formular">
<input tpye="text" id="nachricht_neu" name="nachricht" size="80" value="<?PHP echo $ausgabetext; ?>">
</form>
Die Funktion ticker_aktualisieren sieht wie folgt aus:

function ticker_aktualisieren()
{
alert(document.getElementById('iframereload').document.getElementById('nachricht_neu').value);
window.setTimeout("ticker_aktualisieren()",5000);
}
[/code]

Als Meldung kommt nur NULL.

Frank

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.