2014-03-13 52 views
0

我有一個嵌入在基於html表格的基於閃存的視頻播放器。預期的行爲是視頻播放器自動調整大小,具體取決於瀏覽器窗口的大小。這在許多經過測試的瀏覽器(Firefox,Chrome,Safari,Internet Explorer至8)中運行良好。Internet Explorer 9+在調整表格中閃存對象的大小時遇到​​問題

在Windows 7和8.1上測試的IE 9和10中,調整大小在x軸上效果良好,並且在y軸上放大效果很好。但是,當用戶垂直縮小窗口大小時,Flash播放器大小保持不變,IE「幫助」將垂直滾動條添加到窗口,而不是調整大小以填充較小的空間。

,我想出了證明這種行爲的最小的HTML代碼:

<html> 
    <head> 
    <title>simplest testcase</title> 
    </head> 
    <body> 
    <table style="width: 100%; height: 100%;"><tr><td> 
    <object type="application/x-shockwave-flash" 
     style="width: 100%; height: 100%;" data="jwplayer.flash.swf"></object> 
    </td></tr></table> 
    </body> 
</html> 

注意,它不依賴於jwplayer,我能與我想任何瑞士法郎重現該問題。另外請注意,jwplayer正確地顯示缺少配置的錯誤消息 - 這不是問題,它只是關於在HTML頁面中調整Flash對象的大小。另外請注意,IE 8及以下版本並不理解< object type =「application/x-shockwave-flash」>嵌入方法 - 再次,這裏不是問題;使用適當的嵌入方法的更復雜的頁面顯示相同的問題。

此示例HTML頁面可以在http://guardian.werft22.net/public/test-ie.html

被訪問當我和如預期的<IMG>調整作品取代<對象>,提示問題不完全IE的尺寸確定發動機內。

移除Flash對象周圍的表格也會使其正常工作。然而,原始的嵌入式視頻播放器是一個相當複雜的基於表格的佈局野獸,我想避免重新設計它。

當添加

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"> 

到HTML報頭迫使IE降級到不同的渲染方法,它工作正常。

所以,現在我的問題:有沒有人經歷過這樣的事情?如果是這樣,有沒有更優雅的解決方法?

有沒有人有任何想法(以及如何)報告此錯誤?微軟還是Adobe?

非常感謝您提前!

+0

嗨,你有沒有找到這個解決方案? –

+0

不,我不知道任何解決方案。 – ftc

回答

1

我有一個類似的問題在對象標籤中嵌入Silverlight組件。 解決方案是添加style =「position:absolute;」在td標籤上的對象標籤和樣式=「位置:相對」。如果您的元素應該放置在嵌入元素的上方,則最後一個(相對)標記很重要,否則您可能會看到元素放置在彼此之上。 似乎是一個錯誤?當使用默認定位時。

<html> 
    <head> 
    <title>simplest testcase</title> 
    </head> 
    <body> 
    <table style="width: 100%; height: 100%; position:relative"><tr><td> 
    <object type="application/x-shockwave-flash" 
     style="width: 100%; height: 100%; position=absolute;" data="jwplayer.flash.swf"></object> 
    </td></tr></table> 
    </body> 
</html> 
+0

非常感謝您提供此信息!不幸的是,當我在IE 11中加載修改後的測試用例(Windows 7上的最新版本11.0.9600.17501更新版本11.0.15(KB3008923))時,它仍然具有相同的功能:( – ftc

相關問題