JavaScript document.referrer und document.title

thes33k

Lt. Commander
Registriert
Apr. 2008
Beiträge
1.258
Hi,
leider kann ich in meinem aktuellen Beispiel nicht auf php zurückgreifen, womit das problem sehr einfach zu lösen wäre. mein problem: anhand eines bestimmten referrers soll der title einer website dynamisch geändert werden. z.b. der aufruf von http://www.team-reign.de soll dann "-reign-" im title zeigen.

der code sieht wie folgt aus:
Code:
<script language="JavaScript">
<!-- Begin
function settitle() {
 var d = document.referrer;
 var a = 'QLSCENE1 ';
 var b = 'QLSCENE2 ';
 var c = '-reign- ';
 if (d == 'http://www.qlscene.de/') { document.title = a; }
 if (d == 'http://www.qlscene.net/') { document.title = b; }
 if (d == 'http://www.team-reign.de/') { document.title = c; } 
}
// End -->
</script>
das funktioniert jedoch nicht, wobei ich den fehler nicht sehe. wenn ich anstatt der if anweisungen document.title = document.referrer benutze, funktioniert es einwandfrei. die funktion wird beim onload einwandfrei aufgerufen, jedoch werden die if anweisungen nie erfüllt.

sieht irgendjemand den fehler? kennt jemand ne andere methode?

Ich würde mich sehr über Unterstützung freuen.
 
Zuletzt bearbeitet:
Das erste was mir in den Sinn kommen würde, gibt den document.referrer doch einfach mal aus, dann siehst du ja ob die if anweisung überhaubt erfüllt werden kann.
 
es muss irgendwie an den eigenschaften von document.referrer liegen. wenn ich es ausgebe kommt nur "". dementsprechend ist document.referrer in den ifs auch immer leer...

wenn ich jedoch ganz simple document.title = document.referrer setze, ist document.title gefüllt mit dem refererrer.
ich find aber auch nirgends ne definition oder erklärung für document.referrer, die erklärt, wie die var überhaupt ausgelesen wird.
 
Also bei mir funktioniert das aber einwandfrei. Habs mal mit folgendem Testcode verifiziert:
PHP:
<html><script language="JavaScript">
<!-- Begin
function settitle() {
 var d = document.referrer;
 var a = 'QLSCENE1 ';
 var b = 'QLSCENE2 ';
 var c = '-reign- ';
 alert(d);
 if(d == 'http://localhost/test/index2.html') { alert("works"); document.title = a; }
 if (d == 'http://www.qlscene.de/') { document.title = a; }
 if (d == 'http://www.qlscene.net/') { document.title = b; }
 if (d == 'http://www.team-reign.de/') { document.title = c; } 
}
// End -->
</script>
<body onload=settitle()> 
testinhalt
</body>
</html>
Könnte es sein, dass die URL eben halt etwas länger ist? Also eben nicht "http://www.qlscene.net/" sondern "http://www.qlscene.net/index.html"? Dann musst du halt den String abschneiden (Stichwort "substring")...
 
Hast du schon mal überlegt, ob es daran liegt, dass du kein body Tag verwendest?
 
Hi,
danke für ihre Hilfe, ich hab mittlerweile auch den Fehler gefunden, dank eurer Hilfe. Es lag nicht am Frameset, sondern an meiner grundliegenden Annahme, dass document.referrer auch gesetzt wird, wenn die seite direkt aufgerufen wird (so wie bei der php var...).
verlinkt funktioniert mein code also einwandfrei.

werd mich jetzt mal auf die suche machen die URI direkt ohne referrer auszulesen.

danke nochmal.

P.S. schon gefunden und funzt :)
 
Zuletzt bearbeitet:
Zurück
Oben