Frage

Ich habe ein Facebook Like Button (iFrame Ausgabe) bekam, die auf einer vollständigen Browser Flash-Anwendung überlagerte ist. Die Schaltfläche ist angeschlossen an wie einzelne Bilder innerhalb der Anwendung, und wenn jede neue Bilder gezeigt wird, wird die Schaltfläche aktualisiert mit Daten unter Verwendung von ExternalInterface.

auf die Schaltfläche Überblendungen in und out für jedes neue Bild mit JQuery fadeIn () / fadeOut (), wieder mit ExternalInterface aufgerufen wird.

Das Problem, das ich habe, ist, dass auf Windows, das nicht zur Arbeit zu wollen scheint, in Firefox speziell ...

CSS:

        html {
            height: 100%;
            overflow: hidden;
            min-width: 800px;
            min-height: 600px;
        }
        #flashContent {
            position: absolute;
            top: 0px;
            left: 0px;
            height: 100%;
            width: 100%;
            z-index: 1;
        }
        body {
            margin: 0;
            padding: 0;
            background-color: #000000;
        }
        #fb-like {
            position: absolute;
            bottom: 32px;
            left: 510px;
            width: 280px;
            z-index: 9999;
            display: none;
        }

fb-like ist das div der iFrame enthält, und es ist z-Index 9999 nur um sicherzustellen, dass es immer an der Spitze ist.

Hier ist die JS verwendet werden:

<script type="text/javascript">

    var isVisible = false;  

    function showLikeButton( visible ){         

        if( visible == true )
        {
            $('#fb-like').fadeIn( 'slow' );

            isVisible = true;

        }
        else if ( isVisible )
        {
            $('#fb-like').fadeOut( 'slow' );

            isVisible = false;

        }
    }

    var begOfUrl = "http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fmywebsite.com%2fdirectory";
    var endOfUrl = "&amp;layout=button_count&amp;show_faces=false&amp;width=150&amp;action=like&amp;colorscheme=dark&amp;height=21";

    function sendIdToLikeButton( title, id ){                   
        $( '#facebook-like' ).attr( 'src', begOfUrl + "%3Fid=" + id + endOfUrl );
    }

</script>

, wo die sendIdToLikeButton Methode ist die ID des Fotos nimmt aus dem Flash gesendet ExternalInterface mit dem src-Attribute des iFrame neu zu erstellen.

Und natürlich, da dies eine Flash-Anwendung ist, ist hier die minimale HTML:

<body>

<div id="fb-like">
        <iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fnfb.designaxiom.com/build13&amp;layout=button_count&amp;show_faces=false&amp;width=150&amp;action=like&amp;colorscheme=dark&amp;height=21" scrolling="no" frameborder="0" style="position: absolute; border:none; overflow:hidden; width:300px; height:40px;" allowTransparency="true" id="facebook-like"></iframe>
    </div>
    <div id="flashContent">
        <a href="http://www.adobe.com/go/getflashplayer">
            <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
        </a>
    </div>
</body>

Auch hier funktioniert die überall außer für Firefox in Windows, und ich bin nicht sicher, was zu tun ist. Ich gehe davon aus, dass es ein Fehler in den CSS oder Javascript irgendwo.

Jede Hilfe wird sehr geschätzt.

Vielen Dank im Voraus.

Grammatik

War es hilfreich?

Lösung

ich diese endlich dachte nach ein paar Wochen wieder aus und her. Da es das Problem war mit der iframe stellte sich heraus über die Spitze des Flash-Inhalt platziert wird.

Dies wird durch das Hinzufügen eines param zum swfobject Anruf gelöst wurde - Einstellung wmode auf transparent:

        var params = {};
        params.bgcolor = "#000000";
        params.allowfullscreen = "true";
        params.allowscriptaccess = "true";
        params.wmode = "transparent";

        var attributes = { id: "nfb", name:"nfb" };
        var swfUrl = "Runner.swf";

        swfobject.embedSWF( swfUrl, "flashContent", "100%", "100%", "10.0.0", false, flashvars, params, attributes );

Einstellen des Wmode auf transparent erlaubt für das „transparent“ iframe in jedem Browser oben in der Anwendung platziert übernehmen.

So wie sich herausstellt dies mit der Facebook Like Button überhaupt kein Problem war, aber mit iframes und Flash. Natürlich, wenn Sie nicht SWFObject verwenden, um Ihre SWF-Dateien angezeigt wird, ist der wmode ein Parameter, der in den Publish Eigenschaften in Flash festgelegt werden kann, wenn Sie Ihre SWF-Dateien veröffentlichen.

Prost

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top