Herzlichen dank!
Okay, habe es eingebunden, klappt. Hier die Lösung aus der index.tpl für alle, die Ähnliches vorhaben:
<div id="header">
<div id="serendipity_banner">
{if $smarty.cookies.animation_gemacht}
<img src="
http://www.buchheister.net/ostfriesenblog-head.jpg" />
{else}
<script type="text/javascript" src="
http://www.buchheister.net/swfobject.js"></script> <div id="flashcontent"><img src="
http://www.buchheister.net/ostfriesenbl ... jpg"></div> <script type="text/javascript"> var so = new SWFObject("
http://www.buchheister.net/Ostfriesenblog-Head.swf", "Ostfriesenblog-Head", "900", "200", "6", "#336699"); so.write("flashcontent");
var today = new Date();
var expire = new Date();
expire.setTime(today.getTime() + (60*60*24*30));
document.cookie = 'animation_gemacht=1;expires=' + expire.toGMTString();
</script>
{/if}
</div>
</div>
Auf deutsch:
überprüfe ob Cookie gesetzt; wenn ja, dann zeige Grafik. Wenn nicht, dann überprüfe ob Flashplayer installiert ist (via swfobject-js-code). Wenn ja, spiele Flash, wenn nein: zeige Hintergrundgrafik.
Dazu noch eine Frage: Was bedeuten die Expire-Settings? Kann man die so einstellen, dass die Variable nach fünf Minuten bereits wieder gelöscht wird? Unterhalb der oberen Navigationsleiste (aus dem coffeebar-theme) habe ich ein Menü. Ganz links steht Startseite/Homepage. Wenn die aufgerufen wird, gelangt man wieder auf die Startseite, vermutlich wird index.php aufgerufen. Kann ich da eine Abfrage reinsetzen, die den Cookie wieder auf null setzt? Also, wenn "Homepage" aufgerufen wird, dann setze Cookie wieder auf null, so dass dann die Flashanimation wieder gespielt wird?
Du hast damit übrigens ein Problem gelöst, das in zig Flashforen oder solchen von Content Management Systemen angesprochen wurde, bei denen ähnliches passiert. Und keiner wußte eine funktionierende Lösung. Mit anderen Worten: Hervorragend, setzen, Eins!