我正在使用IE浏览器中的jQuery UI对话框。 Windows上的FF我通过对话框获得基础Flash内容。
我通过在jQuery对话框窗口上启用bgiframe
选项并更改bgiframe
脚本以应用于任何Windows浏览器,在IE上解决了这个问题,但是我仍然在FF上获得了闪光
请注意,我无法准确知道Flash内容的显示位置,因为它通常是用户添加到页面的Flash小部件,尽管我曾想过在显示对话框时暂时隐藏Flash内容 - 这是唯一的选择留给我?
答案 0 :(得分:8)
尝试wmode=transparent
或wmode=opaque
参数。
答案 1 :(得分:3)
<object ...>
...
<param name="wmode" value="opaque" />
...
<embed ... wmode="opaque" ...></embed>
</object>
答案 2 :(得分:2)
我曾经遇到过类似的问题。我只是隐藏了闪光灯并在对话框解除后再次显示:
<script type="text/javascript">
/*notification dialog setup*/
function SetupDialog()
{
$("div#divNotice").dialog(
{ autoOpen: false,
modal: true,
overlay: { opacity: 0.5, background: '#050505' },
buttons: {
"I Agree": function(){
$("#Movie").css("display","inline")//Show movie when dialog is closed
.......
},
"Close" : function(){
$("#Movie").css("display","inline") //Show Movie if dialog is closed
$(this).dialog("close");
}
},
title: "",
height: 500,
width: 600,
dialogClass: 'myDialog',
position: 'center'
}
);
}
</script>
<script type="text/javascript">
function ShowDialog()
{
/*for Notice dialog */
$("#divDialog").css("display","block");
$("#Movie").css("display","none");
$("div#divDialog").dialog("open");
}
答案 3 :(得分:1)
jquery ui对话框使用名为jquery-ui-x.x.css的css文件,其中x.x表示版本
在这个文件中你可以给.ui-dialog类溢出:auto;这将解决问题
答案 4 :(得分:1)
请注意,更改Flash动画的wmode会严重增加机器的CPU负载并降低动画速度。 Flash播放器在浏览器窗口顶部使用自己的窗口是有充分理由的。将wmode设置为不透明Flash被强制渲染到浏览器窗口中。使用wmode = transparent,它甚至必须将其渲染与现有的浏览器阶段内容合并。
我通常使用许多灯箱脚本也使用的相同技术:只要对话框可见,就切换所有Flash影片不可见。这不应该通过设置display:none来完成。如果Flash矩形不再在舞台上,结果可能会在页面的其余部分移动内容。出于同样的原因,您不应该使用jQueries hide()方法。相反,使用visibility:hidden,它仍然占据隐藏元素的空间。
这是我的方式:
$('#myDialogId').dialog({
open: function(){
// hide any flash objects
$('object').css('visibility', 'hidden');
// hide any flash embeds
$('embed').css('visibility', 'hidden');
},
close: function(){
// show any flash objects
$('object').css('visibility', 'visible');
// show any flash embeds
$('embed').css('visibility', 'visible');
//
}
});
答案 5 :(得分:0)
在对话框中使用iFrame或在触发对话框时隐藏页面上的Flash内容。