Benachrichtigung im Browser-Titel

dennis-sauer

Erfahrenes Mitglied
Hallo zusammen,

hat jemand einen Tipp für mich? Ich versuche seit ein paar Tagen eine Benachrichtigung im Browser-Titel wie bei Facebook z.B. (1) für eine neue Nachricht hinzubekommen.

Vielleicht hat jemand eine einfache Lösung oder einen Begriff nach dem ich googlen kann? Hatte bisher keinen Erfolg.

Grüße

Dennis
 
Du kannst den Titel mit JavaScript per document.title steuern!

Zum Beispiel:
Javascript:
window.setTimeout(function()
{
  document.title = "3 Sek. vorbei!";
},
3000);
Das setzt nach drei Sekunden den Titel auf "3 Sek. vrobei!".
 
Wenn Du das realisieren möchtest, OHNE neuladen der Webseite, dann musst Du JavaScript / Ajax benutzen. (Dazu hat ComFreek bereits etwas geposted.)

Ansonsten kann man das auch mit PhP realisieren. Dies geht mit
PHP:
if () {

}

und MySQL phpMyAdmin.


Dies muss dann dort stehen wo Du den Titel definierst.
<title> </title>

Um das ganze übersichtlicher zu gestalten, kann man das Programm wo anders schreiben und mittels function() in der Titelleiste einfügen.

---------
Viel Glück :)
 
Hallo,

ich danke euch beiden erst einmal für die schnellen Antworten...

Soweit hat's gekplatt, die Abfrage aus der DB ist für mich kein großes Problem und das Javascript funktioniert auch, aber nur einmal nach drei Sekunden und das war's.

Sprich ich habe mal in der DB bei einem Eintrag den Status auf "Offen" gesetzt und es erscheint nach drei Sekunden eine (1), wenn ich dann den Status in der DB auf "Erledigt" setze - ändert sich nach drei Sekunden nichts - kein Wunder der ändert ja nur den "title" und fragt nicht auch alle drei Sekunden die DB ab - kann ich das irgendwie einfach realisieren? Ich denke da geht's in Richtung AJAX.

Grüße

Dennis
 
ja, würde ich auch mit Ajax machen.
Dann kannst du z.B alle 10 sekunden oder so anfragen ob der User ne neue nachricht hat.

Um Ajax Request zu machen kann ich dir nur jQuery empfehlen.
 
Zuletzt bearbeitet:
Hallo zusammen,

hab ein wenig rumprobiert - wobei dies wohl jetzt das falsche Forum ist - aber ich bekomme das mit AJAX nicht wirklich hin.

Hab folgendes:

PHP:
window.onload = request;
function request ()
{
$.get("ajax.php");
setInterval('request()', 3000);
}

Da tut sich aber nix.

Denkfehler? Ganz falsch? <-- Das wohl eher :-)
 
Wenn ich mich richtig entsinne, sollte die Funktion zu erst definiert werden, bevor man sie als Event zuordnen kann:

Javascript:
function request ()
{
  $.get("ajax.php");
  setInterval('request()', 3000);
} 
window.onload = request;

Du kannst es allerdings auch abkürzen:

Javascript:
window.onload = function(evt)
{
  $.get("ajax.php");
  setInterval('request()', 3000);
}

Allerdings bin ich nicht so der Javascript-Experte ;-)

EDIT: Moment mal, was macht diese ajax.php eigentlich? Liefer die nen String? Dann müsste es doch eher so laufen:

Javascript:
window.onload = function(evt)
{
  document.title = $.get("ajax.php");
  setInterval('request()', 3000);
}

Wie gesagt, ich bin kein Javascript-Profi.
 
Zuletzt bearbeitet:
Hallo,

ja mit Javascript haperts bei mir auch...

Jetzt steht im Browser [object]....

Mit der ajax.php ist das so ein Ding - es wird der Inhalt einer lokalen txt Datei abgefragt (ist leider so bedingt bei mir). Wenn ich irgendwo im Dokument

PHP:
echo $fia_result

eingebe wird mir die Zahl ausgegeben 1-x je nach offenen Meldungen.

Grüße

Dennis
 
Dann mach doch mal folgendes im ajax.php:

var_dump($fia_result);

und im Javascript:

alert($.get("ajax.php"));

EDIT: Versuch doch mal das (laut jquery-API):

Javascript:
$.get('ajax.php', function(data) {
  document.title = data;
});
setInterval(null, 3000);
 
Zuletzt bearbeitet:
Zurück