Problema con pulsante di Facebook Like in Windows Firefox
-
28-09-2019 - |
Domanda
ho un Facebook Like pulsante (edizione iFrame) che è sovrapposto sulla cima di un'applicazione Flash completa del browser. Il pulsante simile è collegato a come immagini separate all'interno dell'applicazione, e quando vengono rappresentati ciascuno nuove immagini, il pulsante come viene aggiornato con i dati utilizzando ExternalInterface.
I come pulsante dissolvenze e per ogni nuova immagine utilizzando JQuery fadeIn () / fadeOut (), ancora essendo chiamato con ExternalInterface.
Il problema che sto avendo è che su Windows, questo non sembra voler lavorare, in Firefox specificamente ...
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 è il div contenente l'iFrame, e di indice z è 9999 solo per assicurarsi che sia sempre in primo piano.
Questa è la JS utilizzati:
<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 = "&layout=button_count&show_faces=false&width=150&action=like&colorscheme=dark&height=21";
function sendIdToLikeButton( title, id ){
$( '#facebook-like' ).attr( 'src', begOfUrl + "%3Fid=" + id + endOfUrl );
}
</script>
in cui il metodo sendIdToLikeButton sta prendendo l'ID della foto inviata da Flash utilizzando ExternalInterface per ricreare l'attributo src del iFrame.
E, naturalmente, in quanto questo è un applicazione Flash, ecco il minimo HTML:
<body>
<div id="fb-like">
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fnfb.designaxiom.com/build13&layout=button_count&show_faces=false&width=150&action=like&colorscheme=dark&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>
Ancora una volta, questo funziona ovunque, tranne che per Firefox in Windows, e non sono sicuro di cosa fare al riguardo. Sto assumendo che si tratta di un errore nel CSS o da qualche parte Javascript.
Ogni aiuto è molto apprezzato.
Grazie in anticipo.
Grammatica
Soluzione
Alla fine ho capito questo dopo un paio di settimane di avanti e indietro. Come si è scoperto il problema era con l'iframe di essere immessi sopra la parte superiore del contenuto Flash.
Questo è stato risolto con l'aggiunta di un parametro alla chiamata SWFObject - impostazione wmode a trasparente:
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 );
Impostazione della wmode a trasparente consentito per il "trasparente" iframe da posizionare sopra la parte superiore della applicazione in tutti i browser.
Quindi, a quanto pare questo non è stato un problema con il tasto facebook a tutti come, ma con iframe e Flash. Naturalmente se non si utilizza SWFObject per visualizzare i file SWF, il wmode è un parametro che può essere impostato nelle Proprietà Pubblica in Flash quando si pubblica i file SWF.
Saluti