Pregunta

Tengo un Facebook como el botón (edición de marco flotante) que se superpone en la parte superior de una aplicación Flash completa del navegador. El gusto del botón está conectado a como imágenes separadas dentro de la aplicación, y cuando se muestra cada una nuevas imágenes, al igual que el botón se actualiza con los datos usando ExternalInterface.

similares botón fundidos de entrada y salida para cada nueva imagen usando JQuery fadeIn () / fadeOut (), de nuevo siendo llamados con ExternalInterface.

El problema que estoy teniendo es que en Windows, esto no parece querer el trabajo, en Firefox específicamente ...

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-como es el div que contiene el marco flotante, y del índice z es 9999 sólo para asegurarse de que siempre está en la parte superior.

A continuación, se están utilizando las JS:

<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>

donde el método sendIdToLikeButton está tomando el id de la foto enviada desde Flash usando ExternalInterface para recrear el atributo src del iframe.

Y, por supuesto, ya que es una aplicación flash, aquí está la mínima 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>

Una vez más, esto funciona en todas partes excepto para Firefox en Windows, y no estoy seguro de qué hacer al respecto. Estoy asumiendo que se trata de un error en el CSS o alguna parte del Javascript.

Cualquier ayuda es muy apreciada.

Gracias de antemano.

Gramática

¿Fue útil?

Solución

Finalmente cuenta de esto después de un par de semanas atrás y hacia adelante. Al final resultó que el problema fue con el iframe que se coloca sobre la parte superior del contenido flash.

Esto se resolvió mediante la adición de un parámetro a la llamada swfobject - establecer embed a transparente:

        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 );

Configuración de la embed a transparente permitió la "transparente" iframe para ser colocado sobre la parte superior de la aplicación en todos los navegadores.

Así como resulta que esto no era un problema con el facebook como el botón en absoluto, pero con marcos flotantes y Flash. Por supuesto, si usted no está utilizando SWFObject para visualizar los archivos SWF, el embed es un parámetro que se puede ajustar en los Publicar propiedades en Flash al publicar sus fondos soberanos.

Saludos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top