層內容被FLASH遮擋解決辦法
今天在調整公司網站是發現,在視頻播放的頁面,分享按鈕彈出推薦層會被flash播放器遮擋,給層加上z-index也不起作用,如是去google了一下,找到一些方法:
wmode屬性:
“ Window ” 在 Web 頁上用影片自己的矩形窗口來播放應用程序,并且始終位于最頂層。
“ Opaque ” 顯示頁面上位于它后面的內容。
“ Transparent “使 HTML 頁的背景可以透過應用程序的所有透明部分顯示出來,并且可能會降低動畫性能。
“ Opaque “和” Transparent “都 可與 HTML 層交互,從而允許 SWF 文件上方的層遮蔽應用程序。這兩種選項之間的差異在于”Transparent”允許透明,因此,如果 SWF 文件的某一部分是透明的,則 SWF 文件下方的 HTML 層可以透過該部分顯示出來,而”opaque”則不會顯示。
如果忽略此屬性,默認值為 Window。僅適用于object。
Window速度快、有效率,但無法使用z-index,也沒有辦法混用于DHTML圖層當中,這就是為什么常有人在抱怨自己的下拉菜單跑到Flash后面。
Opaque除了可以讓你正確控制z-index的樣式,也可以透過Javascript來控制它的大小或是移動swf的位置!不過要注意,Opaque的背景可是沒有辦法透明的,也就是說,任何內容都會被放在swf下面。
至 于Transparent,想當然,就是把flash的背景變成透明。讓swf檔案可以融入網頁當中而不會出現討厭的白底,不 過,transparent在IE里面是真的透明,也就是說,下面的網頁內容是可以被選取起來的,但是在FF里面,就很討厭了,因為雖然看起來透明,但是 滑鼠卻無法點選。另外,要稍微注意的是,使用這個值,會讓你的flash影片變得比較慢!
方法如下:
一、設置flash置底,加個代碼 :<param name=”wmode” value=”opaque” />但是只加這個代碼,IE可行,在FF下,失效。要想在FF下起作用,還要用在object 里加個 wmode=”opaque” ,實例代碼如下:
wmode屬性:
“ Window ” 在 Web 頁上用影片自己的矩形窗口來播放應用程序,并且始終位于最頂層。
“ Opaque ” 顯示頁面上位于它后面的內容。
“ Transparent “使 HTML 頁的背景可以透過應用程序的所有透明部分顯示出來,并且可能會降低動畫性能。
“ Opaque “和” Transparent “都 可與 HTML 層交互,從而允許 SWF 文件上方的層遮蔽應用程序。這兩種選項之間的差異在于”Transparent”允許透明,因此,如果 SWF 文件的某一部分是透明的,則 SWF 文件下方的 HTML 層可以透過該部分顯示出來,而”opaque”則不會顯示。
如果忽略此屬性,默認值為 Window。僅適用于object。
Window速度快、有效率,但無法使用z-index,也沒有辦法混用于DHTML圖層當中,這就是為什么常有人在抱怨自己的下拉菜單跑到Flash后面。
Opaque除了可以讓你正確控制z-index的樣式,也可以透過Javascript來控制它的大小或是移動swf的位置!不過要注意,Opaque的背景可是沒有辦法透明的,也就是說,任何內容都會被放在swf下面。
至 于Transparent,想當然,就是把flash的背景變成透明。讓swf檔案可以融入網頁當中而不會出現討厭的白底,不 過,transparent在IE里面是真的透明,也就是說,下面的網頁內容是可以被選取起來的,但是在FF里面,就很討厭了,因為雖然看起來透明,但是 滑鼠卻無法點選。另外,要稍微注意的是,使用這個值,會讓你的flash影片變得比較慢!
方法如下:
一、設置flash置底,加個代碼 :<param name=”wmode” value=”opaque” />但是只加這個代碼,IE可行,在FF下,失效。要想在FF下起作用,還要用在object 里加個 wmode=”opaque” ,實例代碼如下:
復制內容到剪貼板
程序代碼
<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0″ width=”600″ height=”248″>
<param name=”allowScriptAccess” value=”sameDomain” />
<param name=”allowFullScreen” value=”false” />
<param name=”movie” value=”flash/uploader.swf”>
<param name=”quality” value=”high”>
<param name=”wmode” value=”Opaque”>
<embed src=”flash/uploader.swf” wmode=”Opaque” quality=”high” pluginspage=”http://www.macromedia.com/go/getflashplayer” type=”application/x-shockwave-flash” width=”600″ height=”248″></embed>
</object>
紅色:解決IE下的遮住層問題。
綠色加粗:解決Firefox下的遮住層問題。
?二、設置flash為透明 :但是如果你在DW中插入動畫,再加<param name=”wmode” value=”transparent”>是不生效的。要把整個的flash插件代碼換成如下:
復制內容到剪貼板
程序代碼
<object type=”application/x-shockwave-flash” data=”http://www.w3net.cn/images/banner.swf” width=”560″ height=”210″>
<param name=”movie” value=”http://www.w3net.cn/images/banner.swf” />
<param name=”wmode” value=”transparent” />
</object>
三、
復制內容到剪貼板
程序代碼
在<body>中插入 onblur=self.focus() 也就是<body onblur=self.focus()>
這個方法沒有作嘗試,有試過的朋友給個結果,謝。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
