Popup und Popup-Blocker

 

One.com Forum und Tutorial

Lösungen sind meist ganz einfach - wenn man sie kennt

 

Was tun bei Popup-Blockern ?

 

 

Um das nervige aufpoppen von Werbung zu verhindern, setzen viele Popup-Blocker ein. Damit ergibt sich in diesem Fall ein Problem.

Wird der Code so eingesetzt wie er hier im Beispiel steht:

 

<a href="http:../baustelle.html" onClick="window.open('http:../baustelle.html', 'Bs', 'height=460,width=1020,scrollbars=yes')" target="Bs">Baustellenseite anzeigen</a>

 

so bekommen Besucher ohne Popupblocker das Popup-Fenster zu sehen und zusätzlich geht das Hauptfenster durch die href-Anweisung ebenfalls zur URL des Popupfensters, während Besucher mit Blocker nur im Hauptfenster Zugriff auf die gewünschte Seite erhalten.

 

Um zu erreichen das der normale Besucher das Popupfenster sieht und das Hauptfenster bestehen bleibt (was ja eigentlicher Sinn und Zwecke des Popupfensters ist) muß man ein zusätzliches Script integrieren.

 

<script type="text/javascript">

function popup(){

 

ok= window.open('http://Deine Zielseite','Bs', 'height=480,width=660,scrollbars=yes,align=center, top= 100, left=150') ;

if (ok) return false;

else return true;

 

}

</script>

 

 

Erläuterung: jede Funktion liefert einen Rückgabewert, ob sie korrekt ausgeführt wurde. Die Varaible ok nimmt den Rückgabewert des Befehls zum Öffnen des Popupfensters auf. Ist kein Popupblocker aktiv, liefert die Funktion als Rückgabewert "true", sonst "false". Mit der If-Anweisung wird der Rückgabewert der popup-Funktion als Negation dargestellt.

 

Der vorherige Aufruf von onclick im <a>-Tag wird jetzt durch den Aufruf der popupfunktion ersetzt.

 

aus:

 

<a href="http://../baustelle.html" onClick="window.open('http://../baustelle.html', 'Bs', 'height=460,width=620,scrollbars')" target="Bs">Baustellenseite anzeigen</a>

 

wird:

 

<a href="http://../baustelle.html" onClick="return popup()">Baustellenseite anzeigen</a>

 

mit dem return-Befehl wird erreicht, das wenn der Rückgabewert "false" ist (also wenn das Popupfenster angezeigt wurde - da ja der ursprüngliche Wert negiert wurde), die href-Anweisung nicht ausgeführt wird.

 

 

Damit ergibt sich jetzt als Gesamtcode für das vorherige Beispiel folgendes:

 

 

<div style="font-family:Verdana; font-size:12px;">

Das ist jetzt ein einfacher Text, der zur Demonstration den Popup-Link zur Baustellenseite enthält. Der Link selbst lautet: &nbsp

 

<script type="text/javascript">

function popup(){

 

ok= window.open('http:../baustelle.html', 'Bs', 'height=460,width=750,scrollbars, left=200, top=150') ;

if (ok) return false;

else return true;

}

</script>

 

<a style="color:green" href="http:../baustelle.html" onClick="return popup()" >Baustellenseite anzeigen</a>&nbsp

Da die Höhe der Codekomponente 75 px beträgt, muss entweder noch mehr Text folgen oder man fügt mit &ltp&gt eine Leerzeile ein.

</div>

 

Und das Ergebnis sieht so aus:

Das ist jetzt ein einfacher Text, der zur Demonstration den Popup-Link zur Baustellenseite enthält. Der Link selbst lautet:   Baustellenseite anzeigen  Da die Höhe der Codekomponente 75 px beträgt, muss entweder noch mehr Text folgen oder man fügt mit <p> eine Leerzeile ein.

 

 

Beim Anpassen des Codes vorsichtig und schrittweise vorgehen, damit man evtl. Fehler eingrenzen kann. Wenn man 5 Sachen ändert und dann nix funktioniert wird es schwierig die Ursache zu finden.

Um Code-Elemente zu testen: Speichern, Veröffentlichen, Webseite aktualisieren und dann erst testen.