Windows Firefox中的Facebook类似按钮的问题
-
28-09-2019 - |
题
我有一个诸如Facebook(Iframe Edition)之类的Facebook,它被叠加在完整的浏览器闪存应用程序之上。类似的按钮被连接到应用程序中的单独图像,当显示每个新图像时,使用外部接口的数据将“类似”按钮刷新。
使用jQuery fadein() / fadeout()为每个新映像的类似按钮逐渐逐渐淡出,并再次使用外部接口调用。
我遇到的问题是,在窗户上,这似乎不想在Firefox中工作...
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的是包含IFRAME的DIV,它的Z索引为9999,只是为了确保其始终处于最高状态。
这是使用的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 = "&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>
sendidtolikebutton方法正在使用外部接口从Flash发送的照片的ID来重新创建IFRAME的SRC属性。
当然,由于这是一个Flash应用程序,这是最小的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>
同样,除了Windows中的Firefox外,它还可以使用它,我不确定该怎么做。我假设这是CSS或JavaScript某个地方的错误。
任何帮助是极大的赞赏。
提前致谢。
语法
解决方案
几周后,我终于弄清楚了。事实证明,问题是将iframe放在闪存内容的顶部。
通过将param添加到swfobject呼叫 - 将wmode设置为透明:
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 );
将WMODE设置为透明允许将“透明” iframe放置在每个浏览器中的应用程序顶部。
因此,事实证明,这根本不是Facebook类似按钮的问题,而是iFrames和Flash。当然,如果您不使用SWFObject显示您的SWF文件,则WMODE是一个参数,可以在发布SWF时在Flash中的发布属性中设置。
干杯
不隶属于 StackOverflow