我使用新的Facebook Javascript SDK在IE8中发现了一个错误。
我使用以下方式调用Post对话框:
FB.ui(
{
method: 'stream.publish',
display: 'dialog',
message: 'test',
attachment: {
name: 'test',
caption: 'test',
media: [
{type: 'image', src: site_url+'test.jpg', href: site_url}
],
description: (
'test'
),
href: site_url
}
},
我的html结构是:
<body>
<div id="content"></div>
<script type="text/javascript">
var params = {
wmode: 'opaque',
allowScriptAccess: 'always',
quality: 'high',
allowFullScreen: "true"
};
var attributes = {
id: 'test'
};
swfobject.embedSWF("frontend/swf/stage.swf", "content", "100%", "100%", "10", params, attributes);
var site_url = 'http://test.com';
</script>
<div id="fb-root"></div>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<div id="like-dialog" style="display:none;">
<div id="like-dialog-wrapper">
<div id="like-dialog-close"></div>
<iframe src="http://www.facebook.com/plugins/likebox.php?id=99999999999&width=292&connections=0&stream=true&header=false&height=395" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:395px;"></iframe>
</div>
</div>
</body>
css:
html, #content, body {
margin: 0;
height: 100%;
overflow: hidden;
}
#content {
z-index: 1;
}
我所做的是:
我嵌入了我的舞台
我调用FB.init函数,然后调用FB.ui函数覆盖我的flash。
它适用于除IE8之外的所有常见浏览器。
在IE8中,包含iframe的div在我嵌入flash的div后面,虽然我设置了z-index并将对话框置于绝对位置。任何想法?
提前致谢
答案 0 :(得分:0)
将wmode设置为透明。
答案 1 :(得分:0)
从 swfobject 切换到标准嵌入代码为我工作。
(wmode 透明)