Hallo, ich habe ein Problem mit Cookies, das ich seit zwei Wochen zu löse versuche, aber nicht weiterkomme. Vielleicht kann mir jemand helfen - leider kenne ich mich mit Javascript nicht so im Detail aus.
Folgendes Problem:
In einer Asp-Datei wird ein Flash-Film abgespielt, der beinhaltet einen Javascript Aufruf der Funktion Setzen (), diese setzt ein Cookie. Jetzt soll beim nächsten Aufruf der Datei, wenn dieses Cookie vorhanden ist, die Seite übersprungen bzw. zu einer anderen Seite verzweigt werden.
Mache ich das Ganze aus einer HTML-Datei heraus, funktioniert es problemlos. Baue ich es aber in die Asp-Datei ein, wird die erste Seite immer gleich übersprungen, selbst wenn das Cookie nicht vorhanden ist.
Soweit ich sehe, setzt Asp selbst auch schon ein Cookie. Deshalb vermute ich, dass bei der Cookie-Abfrage dieses erste Cookie gefunden wird und deshalb die Seite weiterspringt.
Ich brauche jedoch diese ASP-Sache, das die Seite über ein Redaktionssystem dynamische Inhalte aufruft und die ASP-Datei vom Redaktionssystem-Hersteller so vorgegeben ist.
Hier mal der code:
Die ASP Datei inkludiert eine Head.asp (vorgegeben vom Redaktionssystem):
head.asp
Die Hauptdatei:
cookie.asp
Kann ich mit Javascript irgendwie hinbekommen, dass abgefragt wird, ob dieses spezielle Cookie mit dem Bezeichner notagain vorhanden ist? Ich durchforste schon seit Tagen das Internet und die Foren, aber werde nicht fündig.
Oder hat jemand sonst eine Idee, woran es liegen könnte?
Vielen Dank
Heike
Folgendes Problem:
In einer Asp-Datei wird ein Flash-Film abgespielt, der beinhaltet einen Javascript Aufruf der Funktion Setzen (), diese setzt ein Cookie. Jetzt soll beim nächsten Aufruf der Datei, wenn dieses Cookie vorhanden ist, die Seite übersprungen bzw. zu einer anderen Seite verzweigt werden.
Mache ich das Ganze aus einer HTML-Datei heraus, funktioniert es problemlos. Baue ich es aber in die Asp-Datei ein, wird die erste Seite immer gleich übersprungen, selbst wenn das Cookie nicht vorhanden ist.
Soweit ich sehe, setzt Asp selbst auch schon ein Cookie. Deshalb vermute ich, dass bei der Cookie-Abfrage dieses erste Cookie gefunden wird und deshalb die Seite weiterspringt.
Ich brauche jedoch diese ASP-Sache, das die Seite über ein Redaktionssystem dynamische Inhalte aufruft und die ASP-Datei vom Redaktionssystem-Hersteller so vorgegeben ist.
Hier mal der code:
Die ASP Datei inkludiert eine Head.asp (vorgegeben vom Redaktionssystem):
head.asp
Code:
<%
Dim fileSsi
Dim httpCookies
Dim queryString
Dim serverNme
Dim protocol
fileSsi = Request.ServerVariables("URL")
httpCookies = Request.Cookies("wId")
httpCookies = Replace(httpCookies, chr(34), "")
queryString = Request.ServerVariables("QUERY_STRING")
serverName = Request.ServerVariables("SERVER_NAME")
protocol = "http:"
Function execScript (path)
includeVirtual path
End Function
Function includeVirtual (path)
on error resume next
Dim query
If (InStr(path, "?") > 0) Then
query = "&" & queryString
Else
query = "?" & queryString
End If
If Not (fileSsi = "") Then
Set replaceOldFileSsi = New RegExp
replaceOldFileSsi.Pattern = "\&?fileSsi=[^&]*"
replaceOldFileSsi.Global = True
query = replaceOldFileSsi.Replace(query, "")
query = query & "&fileSsi=" & fileSsi
End If
Dim positionCookieStart
Dim positionCookieStop
If (InStr(httpCookies, "WSESSIONID") > 0) Then
query = query & "&sessionid=" & httpCookies
End If
Dim url
If (InStr(path, "//") > 0) Then
url = path & query
Else
url = protocol & "//" & serverName & path & query
End If
Replace url, "?&", "?"
Dim httpObj
Set httpObj = Server.CreateObject("Microsoft.XMLHTTP")
httpObj.open "GET", url, false
httpObj.send
If (Len(httpObj.ResponseText) > 0) Then
Response.BinaryWrite httpObj.ResponseBody
Else
Response.write ""
End If
Set httpObj = Nothing
End Function
%>
<head>
<title></title>
<script language="JavaScript" type="text/JavaScript">
<!--
function Setzen()
{
var Verfall = 1000*60*60*24*31;
var Bezeichner = "notagain";
var Wert = 1;
var jetzt = new Date();
var Auszeit = new Date(jetzt.getTime() + Verfall);
document.cookie = Bezeichner+"="+Wert+"; expires="+Auszeit.toGMTString()+";";
}
function Lesen()
{
if (document.cookie)
location.href = "hallo.htm";
}
//-->
</script>
<script src="AC_RunActiveContent.js" type="text/javascript"></script>
</head>
(Das AC_RunActiveContent.js bindet den Flash Film ein)
cookie.asp
Code:
<html>
<!-- HEAD:START -->
<!--#include virtual="head.asp"-->
<!-- HEAD:STOP -->
<body onLoad="Lesen()" >
<div id="Layer2" style="position:absolute; width:200px; height:115px; z-index:1;">
<script type="text/javascript" >AC_FL_RunContent('codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','550','height','400','align','middle','src','../../../../workshops_cook','quality','high','bgcolor','#ffffff','name','../../../../workshops_cook', 'loop','false', 'wmode','transparent', 'scale','noborder', 'allowscriptaccess','sameDomain','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','../../../../workshops_cook' );
</script>
</div>
</body>
</html>
Kann ich mit Javascript irgendwie hinbekommen, dass abgefragt wird, ob dieses spezielle Cookie mit dem Bezeichner notagain vorhanden ist? Ich durchforste schon seit Tagen das Internet und die Foren, aber werde nicht fündig.
Oder hat jemand sonst eine Idee, woran es liegen könnte?
Vielen Dank
Heike