Flash reclame popups tonen
blokje door vinTage op 17-09-2006
Wie kent ze niet, die mega irritante flash popups, die over de web pagina heenkomen, en pas na een klik op de "close knop" of na bepaalde tijd weer verdwijnen?

Iedere surfer loopt er wel eens tegenaan, en in deze tutorial wil ik jullie gaan uitleggen hoe je die vreselijke dingen zelf kan maken.

Voor de mensen die NIET weten wat ik bedoel check mijn voorbeeld

We maken in deze tutorial gebruik van

* transparantie
* javascript
* Shared objects (eventueel)



Een transparante popup maken.

Wat je nodig hebt, is natuurlijk een mooie flash animatie, deze moet natuurlijk wel een stukje mooier/spectaculairder zijn dan een ordinaire jpg reclame banner.


Om te voorkomen dat er geen achtergrondkleur zichtbaar is van onze swf, moeten we dit aangeven in de tags van ons swf object in de html file.
Als je swf transparant is, zal je gewoon de website zien op de plaatsen waar je in flash niets hebt getekent.

Transparatie kan je heel simpel zelf ingeven door in de html de volgende regel bij het flash object te zetten:
code

<param name="wmode" value="transparent" />




De flash popup laten zien/verdwijnen in de html.

De popup kan je op verschillende manieren uit beeld halen, bijvoorbeeld door je swf te laten redirecten naar een andere html waarin die popup niet zit ingebouwd.
In flash kan je een redirect doen door onderstaande as.
actionscript code

getUrl("http://www.jouSiteZonderPopup.com", "_self");
 


Een andere manier (die ik zelf wel heel mooi vind) is door middel van een javascript de layer te verbergen waarin onze popup zit.
Met flash kan je ook javascript activeren door middel van getUrl("javascript:functie()")

Mijn voorbeeld gebruikte het onderstaande javascript in de html file
(in de head tags van je html plaatsen)

code

<script type="text/javascript">
<!-- Original: Gregor (legreg@legreg.de) -->
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;


function hidelayer(lay) {
  if (ie4) {document.all[lay].style.visibility = "hidden";}
  if (ns4) {document.layers[lay].visibility = "hide";}
  if (ns6) {document.getElementById([lay]).style.display = "none";}
}

function writetolayer(lay,txt) {
  if (ie4) {
    document.all[lay].innerHTML = txt;
  }
  if (ns4) {
    document[lay].document.write(txt);
    document[lay].document.close();
  }
  if (ns6) {
    over = document.getElementById([lay]);
    range = document.createRange();
    range.setStartBefore(over);
    domfrag = range.createContextualFragment(txt);
    
     while (over.hasChildNodes()) {
      over.removeChild(over.lastChild);
    }
     over.appendChild(domfrag);
  }
}
</script>


Bovenstaande javascript hoort tussen de header tags van de pagina waarin je de popup wilt.

In de body van je html bestand maak je een nieuwe div aan.
code

<div id="newlayer" style="position:absolute; top:50px; left:50px; width:300; height:300;">
<!--in bovenstaande regel de afmetingen etc nog aanpassen naar die van je swf -->
<!--hier je swf met transparantie -->
</div>


Door nu in het laatste keyframe van je flash onderstaande code te zetten, wordt die div met de flash erin verstopt, na het laatste keyframe.
actionscript code

//einde van het filmpje
stop();
//hier willen we dat de popup vanzelf weggaat
getURL("javascript:hidelayer('newlayer');");
 




iets klantvriendelijkere popup.

De sites die hun vaste bezoekers niet met popups willen blijven bestoken zouden een flashcookie / sharedObject kunnen inbouwen in de popup, zo kan je zelf "regelen" hoevaak of waneer je een advertentie wilt tonen aan je bezoeker.
Zie daarvoor deze tutorial.

Meer informatie over flash en cookies vind je hier.


Share |



Stem op deze tutorial


Reacties



Je bent niet ingelogged, je kan geen commentaar geven, of commentaren lezen over deze tutorial.