`
talentnba
  • 浏览: 93298 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

不同浏览器中Div层覆盖Flash层的几种方法

    博客分类:
  • JSP
阅读更多

通过设置Div层跟Flash层的z-index并不能使Div层覆盖Flash层。
官方解释:
A Flash movie in a layer on a DHTML page containing several layers may display above all the layers, regardless of the stacking order
(”z-index”) of those layers.
解决方案:
1. 修改flash自身属性,适用 Firefox 跟 IE
这种方案需要修改flash代码,使flash在加载时为透明的,所以div层可以覆盖这个flash。
在原来的flash代码中添加<param name=’wmode’ value=’transparent’>
在<embed>中添加属性 wmode=’transparent’
a. 原始的flash代码
<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'
    codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'
    width='400px' height='340px'>
     <param name='movie' value='http://blog.ku6.com/ku6_v.swf?id=38752_1011788' />
     <param name='quality' value='high' />
     <embed src='http://blog.ku6.com/ku6_v.swf?id=38752_1011788' quality='high'
      pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'
      type='application/x-shockwave-flash' width='400' height='340'>
     </embed>
   </object>
b. 修改后的代码
<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'
    codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'
    width='400px' height='340px'>
     <param name='movie' value='http://blog.ku6.com/ku6_v.swf?id=38752_1011788' />
     <param name='wmode' value='transparent'>
     <param name='quality' value='high' />
     <embed wmode='transparent' src='http://blog.ku6.com/ku6_v.swf?id=38752_1011788' quality='high'
      pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'
      type='application/x-shockwave-flash' width='400' height='340'>
     </embed>
   </object>
2. 修改position属性[[BR]][[BR]]
把用来覆盖Flash的Div层设置position:fixed。由于ie不支持fixed,所以这种方式只适用于Firefox。
a. 示例代码
<html>
     <head>
       <title>div cover flash with fixed property</title>
     </head>
     <body>
       <div id="cover_div" style="position:fixed;width:100px;height:100px;background-color:blue;">I cover the Flash.</div>
       <object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'
        codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'
        width='400px' height='340px'>
        <param name='movie' value='http://blog.ku6.com/ku6_v.swf?id=38752_1011788' />
        <param name='quality' value='high' />
        <embed src='http://blog.ku6.com/ku6_v.swf?id=38752_1011788' quality='high'
         pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'
         type='application/x-shockwave-flash' width='400' height='340'>
        </embed>
       </object>
     </body>
   </html>
3. 使用iframe
使用iframe的方式可以同时支持firefox跟IE,但是实现方式略有不同。
原理都是先用iframe盖住flash,然后设置iframe的z-index使div能盖住这个iframe。
但是在firefox中iframe 默认状态下不能盖住 flash,需要将flash所在层的autoflow属性设为auto,IE下没有此问题。
a. 在firefox中的示例代码
<html>
     <head>
       <title>div cover flash with iframe</title>
     </head>
     <body>
       <div id="cover_div" style="position:absolute;width:100px;height:100px;background-color:blue;z-index:9">I cover the Flash.</div>
       <div style="overflow:auto;">
         <iframe id="cover_iframe" frameborder="0" style="position:absolute;width:100px;height:100px;z-index:8;"></iframe>
     <object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'
          codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'
          width='400px' height='340px'>
       <param name='movie' value='http://blog.ku6.com/ku6_v.swf?id=38752_1011788' />
       <param name='quality' value='high' />
       <embed src='http://blog.ku6.com/ku6_v.swf?id=38752_1011788' quality='high'
            pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'
            type='application/x-shockwave-flash' width='400' height='340'>
           </embed>
     </object>
       </div>
     </body>
   </html>
注:
“<div style=”overflow:auto;”><iframe>…</iframe><object>…</object></div>” firefox 中必须使用这种结构才有效
在IE中只需要使iframe与div在一个同一个位置即可。

分享到:
评论

相关推荐

    div被iframe遮住的几种情况及解决方法

    以下将详细阐述几种DIV被IFRAME遮挡的情况,并提供相应的解决方法。 首先,要了解的是IFRAME是一种HTML元素,它允许在当前HTML文档中嵌入另一个独立的HTML页面。尽管这一特性带来了许多便利,但同时也带来了诸如...

    div+css浏览器兼容问题

    为了解决这个问题,开发者通常采用以下几种方法: - **使用滤镜**:通过`filter: alpha(opacity=50);`属性可以实现透明效果,但这会影响性能。 - **使用IE条件注释**:允许在IE6中加载特殊的CSS样式表,以修正特定...

    Firefox下div层被Flash遮住的解决方法

    这个问题主要是由于Flash的渲染方式导致的,但有几种方法可以解决这一问题。 首先,我们来理解为什么会出现这种现象。Flash内容在浏览器中默认是以“window”模式渲染的,这意味着它会像一个独立的窗口一样覆盖在...

    asp.net嵌如flash的几种方法

    下面,我们将详细探讨几种在ASP.NET中嵌入Flash的方法。 1. **HTML Object Tag**: 最常见的方式是通过HTML的`&lt;object&gt;`标签来插入Flash内容。你需要指定`classid`和`codebase`属性以引用Flash Player ActiveX控件...

    让Flash显示在Div下面的代码

    ### 让Flash显示在Div下面的方法 随着HTML5和JavaScript技术的发展,Flash逐渐退出了历史舞台。但在某些特定的历史背景下,让Flash元素显示在其他HTML元素(如div)之下仍有一定的应用场景。本文将详细介绍如何通过...

    网页Object标签遮盖DIV标签解决方法

    要解决`&lt;Object&gt;`标签遮盖`&lt;div&gt;`标签的问题,我们可以尝试以下几种方法: 1. **CSS层级调整**: 使用CSS的`z-index`属性可以控制元素的堆叠顺序。给`&lt;div&gt;`标签设置一个比`&lt;Object&gt;`标签更高的`z-index`值,可以...

    用div做的flash切换效果的源代码

    - **浏览器兼容性**:虽然这种方法对不支持Flash的设备友好,但JavaScript和CSS3动画可能在一些老旧的浏览器中无法正常工作。因此,需要测试并考虑针对这些浏览器的降级处理。 - **性能优化**:大量动态加载的图片...

    网页中屏蔽flash右键

    例如,覆盖一个透明的div层在Flash上方,监听并阻止这个div上的右键事件。 为了应用这个方法,你需要在网页中引入`RightClick_0.6.3`库,并根据库的文档或示例代码正确地配置和使用它。通常,这涉及到在HTML中添加...

    网页中插入flash时钟代码(白底蓝色钟面)

    给定内容中提到了几种不同的Flash文件路径解决方案: - 如果原路径无法访问,可以通过修改`src`属性的值来替换为新的Flash文件路径。 - 例如,将`src`属性值改为`'...

    几款漂亮的DIV+CSS+(JS)打造的相册

    - **photo、zishu_photo**:可能代表两种不同的相册设计,"zishu"可能指代自适应或者响应式设计,适应不同设备屏幕。 - **PhotoGallery**:这是另一种可能的相册实现,通常包含一系列图片的展示和导航功能。 - **...

    js调flash的方法

    JavaScript(简称JS)是一种广泛用于Web开发的轻量级脚本语言,它可以与浏览器中的多种元素进行交互,包括HTML、CSS以及插件如Adobe Flash。本文将深入探讨如何使用JavaScript来调用和控制Flash内容。 在Web开发中...

    给Flash加一个超链接(推荐使用透明层)兼容主流浏览器

    在网页设计中,有时我们需要给Flash对象添加超链接,以便用户点击Flash时可以跳转到其他页面。然而,由于Flash的特性,...在实际操作中,可能还需要根据具体情况进行微调,例如调整层的定位、处理不同浏览器的差异等。

    如何让Flash不遮挡HTML div元素的技巧

    有几种不同的`wmode`值,如`window`、`opaque`、`transparent`和`direct`等。在这里,我们需要使用`opaque`或`transparent`来使Flash不遮挡HTML元素。 当`wmode`设置为`opaque`时,Flash会变为不透明背景,但仍能...

    很炫很酷的弹出层jQuery效果

    在网页设计中,jQuery是一种广泛...如果有`flash`文件,可能是为了在某些老版本浏览器中提供替代的动画效果。总的来说,这个项目提供了完整的jQuery弹出层解决方案,包括HTML、CSS、JavaScript代码和可能的图像资源。

    桌面漂浮flash.rar

    然而,需要注意的是,由于Flash Player已在许多现代浏览器中被逐步淘汰,这种方法可能在某些环境下不再适用。替代方案可以考虑使用HTML5的Canvas或WebGL来实现类似的功能,它们在现代浏览器中通常有更好的兼容性和...

    swfobject 网页载入flash swf JavaScript 代码

    SWFObject通过检测浏览器是否支持Flash,并根据情况选择最佳的展示方式,确保了内容在不同环境下的兼容性。 2. **无Flash备选内容**:SWFObject允许开发者提供非Flash的备选内容,当用户没有安装Flash插件或者...

    基于Javascript的Flash媒体版本检测与嵌入模块

    JavaScript是一种广泛应用于网页开发的脚本语言,它在网页中执行客户端的任务,为用户提供动态交互体验。本主题聚焦于一个特定的JavaScript模块——"基于JavaScript的Flash媒体版本检测与嵌入模块",这个模块主要...

    Div+CSS布局居中

    本文将详细介绍几种常见的实现水平居中布局的方法,并针对描述中提到的问题进行解答。 #### 一、使用Margin属性实现居中 **基本原理**:通过设置一个元素的`margin-left`和`margin-right`为`auto`来使其水平居中。...

    object标签遮罩问题

    针对这一问题,有一种常用的解决方案是使用 `&lt;iframe&gt;` 作为中间层来解决覆盖问题。具体做法是创建一个 `&lt;iframe&gt;` 元素,并将其设置为覆盖 `&lt;object&gt;` 标签,然后再在这个 `&lt;iframe&gt;` 内部放置 `&lt;div&gt;` 元素。这种...

    JQuery&CSS;&CSS;+DIV实例大全.rar

    3.jquery实现Tooltip提示(文字、链接、地图锚点),自带5种不同样式 4.jQuery实现支付宝隐藏层提示信息内容的功能 5.jquery实现鼠标划过网址名称显示网站截图功能 6.jQuery带Tips动画提示通用表单验证插件下载...

Global site tag (gtag.js) - Google Analytics