[js] – Das richtige Popup

Ab XHTML 1.1 ist das tag target=”_blank” nicht mehr erlaubt, weil der User selbst entscheiden soll, wie sich das Fenster öffnet.

(z.B.: SHIFT + Klick = In einem neuen Fenster öffnen)

Ein Trick für Webmaster ist JavaScript zu nutzen.

Und es ist egal, ob JavaScript deaktiviert ist oder nicht. Wenn JavaScript deaktiviert ist, öffnet sich das Fenster halt im selben Fenster wo der Aufruf erfolgte.

Vorteile:

  • Statuszeile des Browsers zeigt das richtige Ziel an
  • User, die javaScript deaktiviert haben, kommen auch auf die Seite
  • Suchmaschinen finden auch den richtigen Link zur Seite
  • SHIFT + RIGHT CLICK funktionieren weiterhin
  • XHTML 1.1 konform
// der methode popup wird vom Objekt Anchor das Attribut href übergeben
<a href="myPage.aspx" onclick="window.popup( this.href ); return ( false );">Mein Popup</a>

In diesem Sinne

UPDATE:

Für ein angepasstes Fenster könnte man sich dafür eine function mit dem window objekt schreiben.

    function myPopUp( url, breite, hoehe ) {
        // mittig setzen
        var leftPos = ( screen.width ) ? ( screen.width - breite ) / 2 : 0;
        var topPos = ( screen.height ) ? ( screen.height - hoehe ) / 2 : 0;
        // eigenschaften 
        var propertys = "width=" + breite + ", height=" + hoehe + ", left=" + leftPos + ", top=" + topPos + " toolbar=0, personalbar=0, menubar=0, scrollbars=0, resizable=0, status=0 ";
        // das popup ausführen
        var myWin = window.open( url, "My Popup", propertys );
        // und es in den vordergrund holen
        if ( myWin ) {
            myWin.focus();
        }
    }

Der Aufruf:

<a href="http://blog.dream-coder.de" onclick="myPopUp( this.href, 300, 800 ); return( false );">blog.dream-coder.de</a>

Test It:

test – blog.dream-coder.de

Update:

Auch zu finden unter http://www.snippetcenter.org/

It's only fair to share...Flattr the authorShare on FacebookTweet about this on TwitterShare on LinkedInEmail this to someone

Related Posts:

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment moderation is enabled. Your comment may take some time to appear.