"Zufallsgenerator" für Werbebanner

Sentenza

Lieutenant
Dabei seit
Juli 2004
Beiträge
591
Gibt es eine Möglichkeit, mit Javascript einen "Zufallsgenerator" einzubauen, der nach jedem neuen Laden der Seite ein anderes Banner "auslost"?

(mein Server unterstützt kein PHP; also damit wirds schon mal nicht gehen)
 

HoRnominatoR

Lt. Junior Grade
Dabei seit
Dez. 2004
Beiträge
302
bin ich mir ziemlich sicher.
 

Sentenza

Lieutenant
Ersteller dieses Themas
Dabei seit
Juli 2004
Beiträge
591
also ich habe das Problem jetzt so gelöst:


<script type="text/javascript">
var bilder = new Array(
'Quelle des ersten Banners',
'Quelle des zweiten Banners'
);
var links = new Array(
'URL, die zur Seite des 1. Banners führt',
'URL, die zur Seite des 2. Banners führt'
);
var anzahl = bilder.length;
var nr = Math.round(Math.random()*(anzahl-1));
document.write('<a href="'+links[nr]+'" target="blank"><img src="'+bilder[nr]+'" border="0" width="468" height="60" alt="Anzeige" /><\/a><br>');
</script>


dieses Script lost bei jedem neuen Laden/Aktualisieren der Seite ein anderes Link-Banner aus...


... aber der Vorschlag von insane24 ist wohl noch besser; ich werde es ausprobieren!
 

Sentenza

Lieutenant
Ersteller dieses Themas
Dabei seit
Juli 2004
Beiträge
591
So, jetzt sieht es bei mir wie folgt aus.

<html>
<head>

[...]

<script type="text/javascript">
/* Tragen Sie hier die Anzahl der Banner ein*/

anzahl_banner=2;
var banner_nr=0;
var zustand=0;
var banner=new Array();
for (i=0;i<anzahl_banner;i++){
banner=new Image();
}

/* Tragen Sie hier die URLs der Grafiken ein*/
banner[0].src="Quelle des ersten Banners";
banner[1].src="Quelle des 2. Banners";

/* Tragen Sie hier die URLs zu den Banner-Webseiten ein*/
var banner_url=new Array();
banner_url[0]="URL zur Seite des ersten Banners";
banner_url[1]="URL zur Seite des 2. Banners";

/* Hinter setTimeout wird Rotationszeit eingetragen
Momentan 10sec ==> 10000*/
function wechsleBanner(){
if (zustand!=1){
banner_nr++;
if (banner_nr>anzahl_banner-1){
banner_nr=0;
}
document.sponsor.src=banner[banner_nr].src;
setTimeout("wechsleBanner()",10000);
}
}

/* Wechseln der Banner*/
function BannerURL(){
zustand=1;
location.href=banner_url[banner_nr];
}
function URLinStatuszeile(){
parent.window.status=banner_url[banner_nr];
}
</script>
</head>
<body [...] onload="wechsleBanner()">

[...]

<A href="link1.html" onClick="BannerURL();return false" onMouseover="URLinStatuszeile();return true;" target="_blank">
<IMG SRC="Quelle des 2. Banners" HEIGHT=60 WIDTH=468 NAME="sponsor" BORDER=0></a>

[...]

</body>
</html>


doch verstehe ich nicht, warum bei Klick auf den Banner die "Werbeseite" nicht im neuen Fenster geöffnet wird (target="_blank")!?


/EDIT: Das Problem habe ich mit SelfHtml gelöst!

Da HTML-Links bei aktiviertem Javascript garnicht aufgerufen werden, musste ich ein neues Fenster mittels Javascript öffnen.

Dazu habe ich das target="_blank" im Link-Tag entfernt und function BannerURL() im Javascript wie folgt geändert:

function BannerURL(){
zustand=1;
window.open(banner_url[banner_nr],"_blank");
}
 
Zuletzt bearbeitet:

Sentenza

Lieutenant
Ersteller dieses Themas
Dabei seit
Juli 2004
Beiträge
591
einen Monat habe ich jetz die Bannerrotation drin.

Doch stellt sich jetz folgendes Problem:

Die Klicks werden nicht gezählt! :(

Entferne ich das Javscript und binde ein normales Banner ein, zählt er wieder...

Woran könnte das liegen?
Sollte ich die Verwendung von Javascript vielleicht doch lassen?


übrigens habe ich mir bereits einen PHP-unterstützenden Server besorgt :)
 
Zuletzt bearbeitet:
Top