Volledige versie bekijken : sharedObjects en bezochte pagina
sanderH
%Europe/Berlin %569 %2005, 14:39
Hallo :)
Voor deze (http://www.ayersrookies.nl) site ben ik bezig met een banner.
Deze site heeft een aantal menuonderdelen en elke keer dat er een ander menuonderdeel wordt aangeclicked begint de animatie weer opnieuw te spelen. Ik heb gezocht en geprobeerd hoe je dit kan veranderen. Ik ben een aardig eind gekomen met het volgende:
myLSO = SharedObject.getLocal("ViewedBefore");
if (myLSO.data.viewed == undefined) {
trace("nog niet");
myLSO.data.viewed = true;
myLSO.data.flush();
} else {
trace("nu wel");
}
Ik heb de code vereenvoudigd weergegeven dmv de traces
Als ik voor het eerst op de site kom doet de animatie het (trace("nog niet")) , echter......daarna doet ie het nooooit meer (trace("nu wel")).... zonde :rolleyes:
Wat ik zou willen is dat gedurende de sessie de animatie niet meer speelt als er een ander pagina wordt gekozen binnen deze site, maar als de browser wordt gesloten en daarna opnieuw naar de site gegaan wordt de anmimatie weer wel een keer speelt.
Ik hoop dat mn vraag duidelijk is en dat iemand me de juiste kant op kan sturen.
groeten SanderH
The_One
%Europe/Berlin %614 %2005, 15:45
Hallo :)
Als ik voor het eerst op de site kom doet de animatie het (trace("nog niet")) , echter......daarna doet ie het nooooit meer (trace("nu wel")).... zonde :rolleyes:
Hier werkt het wel hoor:)
Na de 1e keer publishen zag ik 'nog niet'
Na de 2e keer publishen zag ik 'nu wel'
sanderH
%Europe/Berlin %615 %2005, 15:46
ja dat klopt zie ook
deze link (sander.ffbakkiedoen.net/ar/ayersrookies.html) 1e keer animatie 2e keer niet. Hetgene wat me niet lukt is deze instelling te deleten op het moment dat de sessie is afgelopen. (iemand sluit zn browser)
zodat bij een nieuw bezoek de animatie het weer doet
The_One
%Europe/Berlin %616 %2005, 15:48
shit, je vraag verkeerd gesnapt, ff de oplossing zoeken :P
Ben zo terug :)
Bedoel je dit:
myLSO = SharedObject.getLocal("ViewedBefore");
if (myLSO.data.viewed == undefined) {
trace("nog niet");
myLSO.data.viewed = true;
myLSO.data.flush();
} else {
trace("nu wel");
myLSO.clear();
}
sanderH
%Europe/Berlin %622 %2005, 15:57
bedankt voor je hulp, maar nu animeert ie om de keer.
dus:
Bezoek1 -->Animatie
Bezoek2 -->Geen Animatie
Bezoek3 -->Animatie
Bezoek4 -->Geen Animatie
is er trouwens uberhaupt wel onderscheid te maken tussen reload (F5) of het sluiten van de browser en het opnieuw openen van de site?
Tha Narie
%Europe/Berlin %637 %2005, 16:17
Ik denk dat je dit toch met een PHP-session moet doen.
Wat je evt wel zou kunnen proberen is de datum wegschrijven in het SO, en dan kijken of het verschil bv minder dan 15 minuten is. Maar dit is niet echt een betrouwbare methode ;)
sanderH
%Europe/Berlin %639 %2005, 16:21
Ha thaNarie,
Bedankt voor jouw licht op deze zaak...
Ja ik was er al bang voor. Heb nog geen kaas gegeten van php helaas.
Die 15 minuten optie zat ik ook al over na te denken.
Die _global optie werkt in iedergeval niet want hij reset ook al bij F5.
Iemand nog een php-loze optie????
Bedankt
The_One
%Europe/Berlin %641 %2005, 16:23
kan je niet gewoon op je btn de actie zetten dat je MC opnieuw begint te spelen?
sanderH
%Europe/Berlin %642 %2005, 16:25
ehm... ik snap je niet? ;)
The_One
%Europe/Berlin %645 %2005, 16:30
srry, weer mijn fout, ik was vergeten dat je t gaat verwerken in pagina's.
Kan je mss iets proberen met een javascriptje; dat die je cookie verwijderd na het sluiten van je browserwindows? Of kan javascript geen flash cookies verwijderen?
Anders naries maniertje proberen.
Srry voor de loze posts :p
Tha Narie
%Europe/Berlin %652 %2005, 16:40
Alleen Flash kan aan SharedObjects zitten. Je zou evt wel via JS met normale cookies kunnen werken. Maar sessions zijn toch betrouwbaarder.
<?
session_start();
$newSession = $_SESSION['s_newSession'];
?>
<!-- alle HTML + SWFembed enzo -->
<!-- in de object/embed geef je $newSession mee dmv FlashVars, deze kan je dan dmv _root.varName opvragen. 1e Keer is deze leeg, na refreshes is hij true -->
<?
$_SESSION['s_newSession'] = true;
?>
sanderH
%Europe/Berlin %668 %2005, 17:02
wederom bedankt ik moet er dan toch maar aan de PHP moet gaan geloven ;)
betekend dit dat ik in as zoiets als:
if (_root.s_newSession == true) {
moet plaatsen?
ik heb de php in mn testhtml verwerkt. ik weet niet precies hoe ik moet checken of dat goed gegaan is....DE HTML (sander.ffbakkiedoen.net/ar/ayersrookies.html)
sanderH
%Europe/Berlin %357 %2005, 09:34
Goei, ik ben er nog niet helemaal uit.
ik gebruik dit in mijn html om te kunnen communiceren met mn swf.
<PARAM NAME="FlashVars" VALUE="$newSession">
<embed FlashVars="$newSession" src="ayersrookioes.swf" quality="high" bgcolor="#ffffff" width="740" height="100" name="ayersrookioes" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
die value: $newSession heb ik in het begin van de html dmv php aangemaakt.
<?
session_start();
$newSession = $_SESSION['s_newSession'];
en aan het eind van mn html staat dit:
<?
$_SESSION['s_newSession'] = true;
?>
Hier staat de html: LINK (sander.ffbakkiedoen.net/ar/ayersrookies.html)
In mn swf wil ik nu checken of deze value true of false is.
mijn vraag is: hoe kan ik deze variabele aanroepen in as?
als ik bijv VALUE = "test=bla" gebruik kan ik in as: "_root.test" gebruiken. Maar met die php code weet ik het niet zo goed (heb er ook niet zoveel verstand van). Ook kan ik er verbazingwekkend weinig over vinden op de bekende fora.
Weet iemand hier iets van?
groetjes Sander
sanderH
%Europe/Berlin %491 %2005, 12:48
als ik bijvoorbeeld
<PARAM NAME="FlashVars" VALUE="test=$newSession">
gebruik en ik roep in as trace(_root.test) aan dan krijg ik braaf "$newSession", maar ik wil graag de waarde van $newSession
Aan het begin van de sessie is deze "undefined", zodra de pagina geladen is: "true"
hoe krijg ik deze php waarde in flash? (zie de html in mn vorige post)
SaphuA
%Europe/Berlin %871 %2005, 21:55
Je kunt ook een timertje plaatsen..
Sla de tijd an de datum op van waneer de animatie speeld, en kijk waneer de pagina daarna geladen wordt of dat er genoeg tijd tussen zit om de animatie weer te laten spelen.
sanderH
%Europe/Berlin %872 %2005, 21:56
bedankt voor de tip, maar ik ben er net helemaal uit :)
zie: http://www.flashfocus.nl/forum/showthread.php?t=2922
daar heb ik het geprobeerd uit te leggen ;)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.