Cookie Problem

m a x

Grünschnabel
Hallo ich habe eine Url in einem Cookie gespeichert und möchte auf diese nach betätigen des Links umleiten. Das funktioniert auch aber unregelmäßig. Der Link muß unterschiedlich oft betätigt werden damit das gewünschte Resultat eintritt. Kann mir jemand erklären wie das zustande kommt?

Code:
    function refer() 
	{
	 sliceurl = document.cookie;
	 url = sliceurl.slice(13);
 	window.location.href = url;
 	}

HTML:
<div align="center" style="font-size:16pt;font-weight:bold;"><a href="#" onClick="javascript:refer();">Hier kommst du auf deine alte Seite</a></div>

Vielen Dank schonmal.
 
Es wäre gut, zu wissen, was genau du wie in dem Cookie speicherst.
slice() ist eine Methode für Arrays.... ein Cookie ist aber ein String und kein Array.
 
Es wäre gut, zu wissen, was genau du wie in dem Cookie speicherst.
Im Cookie wird eine URL gespeichert.
Code:
letzterbesuch=http://www.test.de/testtesttest/index.html
slice() ist eine Methode für Arrays.... ein Cookie ist aber ein String und kein Array
Ich habe mich hiernach gerichtet.
http://de.selfhtml.org/javascript/objekte/string.htm#slice

Dann hatte ich mir gedacht mittels slice() alles was nicht Bestandteil der URL ist abzuschneiden und auf die URL weiterzuleiten. Wie gesagt es funktioniert teilweise aber ich verstehen dieses unregelmäßige gelingen meines Vorhabens nicht.
 
Ahso... slice gibts ja auch für Strings :-(

Versuch mal
Code:
<a href="javascript:void(refer());">Hier kommst du auf deine alte Seite</a>
 
Vielen Dank ich verstehe zwar nicht warum aber so funktioniert es für Firefox,Mozilla, Msie6 -
seltsamerweise nicht im Msie5.


Selfhtml meint zu void()
Der Operator void wird dann verwendet, wenn eine Anweisung ausgeführt werden soll, aber keine Rückgabewerte erzeugt werden dürfen.

Bedeutet das void() muss eingesetzt werden wenn keine Rückgabewerte erzeugt werden dürfen?
 
Zuletzt bearbeitet:
Jo, genau das... wer weiss schon immer genau, ob eine Funktion etwas zurückgibt. In dem Fall wäre es recht unpraktisch... weil der Rückabewert dann als Linkziel aufgerufen würde.

Du könntest natürlich referer() die URL zurückgeben lassen... dann bräuchtest du das void nicht(und das mit window.location.... auch nicht)
 
Das hab ich mal versucht aber da schreibt er nur die URL in die Seite und leitet nicht weiter (liegt sicher an meinem unzureichenden js-Verständniss).

Code:
 function refer()
 	{
 	 sliceurl = document.cookie;
 	 url = sliceurl.slice(13);
 	 //window.location.href = url;
 	 document.write(url);
 	 }

HTML:
<a href="javascript:refer();">Hier kommst du auf deine alte Seite

Die Version die funktioniert ist der Funktionsaufruf mit mit void() und window.location.href in der Funktion.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück