een flash koekje

That’s all swell and all, but I don’t want you to use javascript for this. En daarmee mocht ik op zoek naar een alternatief. Het moest in Flash zijn, de animatie mocht maar 1 keer per dag automatisch spelen, en dat mocht, as per the instructions, niet via javascript geregeld worden. PHP, ASP of andere server side toestanden waren tevens uit den boze.

Zoals steeds: google to the rescue, en we kwamen terecht bij Local Shared Objects via AcmeWebWorks: Flash Cookies :: Yes my friend, feel the love

Simple comme bonjour, want zelfs wij slaagden erin met volgend stukje actionscript op de proppen te komen:

  1. function formatDate (theDate)
  2. {
  3. var dateToday = theDate.getFullYear() + "" + theDate.getMonth() + "" + theDate.getDate();
  4. return dateToday;
  5. }

Maak een datum aan type 2005414. De “” tussen de stukjes is om flash duidelijk te maken dat het om een string gaat, en niet om een integer (anders kregen we 2023 ipv 2005414).

  1. var datum = new Date();
  2. var cookieDate = formatDate(datum);

Maak een datum aan en formateer hem met de functie.

  1. var soVars:Object = SharedObject.getLocal("speechEnglish", "/");
  2. if(soVars.data.prevVisit != cookieDate)
  3. {
  4. gotoAndPlay("Scene 1", 2);
  5. soVars.data.prevVisit = cookieDate;
  6. soVars.flush();
  7. }

Als je de site nog niet eerder bezocht hebt, of de cookie heeft niet de datum van vandaag, speel dan de clip, en zet de cookie naar de datum van vandaag, zodat het clipje vandaag niet meer gespeeld wordt.

Voilà.

That’s great! Thanks. But we’ve decided not to use that clip anyway.

*zucht*

[Update:] Wie het zich mocht afvragen, de CSS voor de code formatting heb ik schaamteloos gepikt van het schitterende 456 Berea Street (zoals je hier en hier kan zien) (en een beetje aangepast).