2008-10-21 45 views
0

我有div包含Flash對象的列表。該列表很長,所以我已經將div高度設置爲400,並溢出爲自動。Flash裏面的滾動div - IE6錯誤

這對FF工作正常,但在IE6上只有前5個可見的閃存對象工作。當我向下滾動時,最初在可視區域外的其餘Flash對象將爲空。因爲我沒有看到「電影未加載」,所以swfs加載正常。他們似乎也嵌入正確,他們只是空的即。內容從不繪製。

有關如何解決此問題的任何想法?

ps。所涉及的html元素主要是浮動的,以防止對此產生影響。 Flash對象使用流行的swfObject嵌入。

編輯:看來,錯誤只與Flash插件出現「WIN 8,0,24,0」

因爲我不能張貼一個鏈接,我會總結相關的代碼在這裏:

<div style="overflow:auto; height:400px; float:left;"> 
<div id="item_1" style="float:left; clear:left; height:100px;"> 
<!-- swfObject Embed here --> 
</div> 
... 
<div id="item_7" style="float:left; clear:left; height:100px;"> 
<!-- swfObject Embed here --> 
</div> 
</div> 

編輯: 在嘗試在單獨的頁面中重新創建此問題後,我發現該錯誤與最初隱藏的Flash對象有關。加載頁面時,我的容器div具有「顯示:無;可見性:隱藏」。稍後,風格通過JavaScript更改爲可見。如果我加載頁面以便從一開始就可以看到所有內容,則一切正常。

+0

顯示任何鏈接? – andyk 2008-10-21 09:57:06

+0

IE6是***中的皇家痛苦 – schonarth 2008-10-21 10:41:31

+0

抱歉,由於該頁面不公開,因此我暫時無法爲您提供鏈接。我會爲這個問題添加一些信息。 – Gene 2008-10-21 11:01:10

回答

0

我想我有一個解決方案。我不能絕對確定,因爲有問題的網頁被重組(因爲這個錯誤)。後來我偶然發現了一個類似的問題,在不同的頁面上使用相同的Flash組件。

有問題,有時閃光提供Stage.height = 0和Stage.width = 0。當閃光燈在瀏覽器視口外啓動時,最有可能發生這種情況。我們使用舞臺尺寸來縮放內容(在這種情況下,寬度= 0和高度= 0)。

解決的辦法是添加用於檢查舞臺尺寸的onEnterFrame一個處理程序,並只進入一次他們是> 0

0

當我在IE6中測試這類東西時,我所做的第一件事就是開始刪除樣式信息。首先刪除父DIV和子DIV中的所有浮動和清除。如果這不起作用,請刪除所有填充和邊距,併爲父DIV和子DIV分別設置100%的寬度(保留100px的高度)。如果這不起作用,然後回到這裏。如果我不得不冒險猜測,我會說這是因爲你的DIV沒有寬度,但是這是基於我所知道的「偷看漏洞」的瘋狂猜測。

0

幾件事情,我想嘗試:

  • 刪除所有的CSS暫不確定問題是否是特定的CSS-
  • 附加像素寬度的浮動元素以及它們的父元素
  • 將wmode透明PARAM添加到swfobject的
  • 添加位置:相對

我聽說在FLA文件中的錯誤h顯然只有當閃光燈部分在屏幕外部加載時纔會發生(即, body> #flash {margin-top:-50px})。你的問題可能是一個變化。

或者,您可以完全放棄帶有溢出的div,並嘗試使用滾動條在Flash中創建容器,並將各個SWF加載到該容器的一個Flash文件中。

0

這只是一種解決方法,但您可以嘗試爲Flash對象(如具有相應高度和寬度的div)創建佔位符,並且只在第一次變爲可見時才加載電影(通過諸如swfobject之類的東西)。這可能會產生一些問題(例如,電影在可見之前未預加載),但它可能是可以接受的。