2012-11-23 64 views
3

我試圖在使用slidejs的JavaScript滑塊中使用多個soundcloud html5小部件(iframes)。Soundcloud html5小部件在IE中不可見

除IE之外,所有瀏覽器都可以毫無問題地滑動窗口小部件。 在IE9中,只有第一張幻燈片中的小部件出現,其他小部件以某種方式隱藏。 你可以找到一個example of the slider

我發現在重新加載頁面後,您可以快速點擊「下一步」,並顯示所有小部件。

在控制檯

我得到兩個錯誤:

"HTML1115: X-UA-Compatible META tag ('IE=edge,chrome=1') ignored because document mode is already finalized." 

"?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F56094476&show_artwork=false 
SCRIPT5009: 'Object' is undefined 
widget-ab572693.js, line 1 character 6728" 
+0

嘿,謝謝你讓我們知道,我們會盡快研究它。 –

回答

2

有一個bug /安全功能in IE9鏈接已失效,請更新)是防止I幀是從訪問JavaScript運行時環境中脫離DOM。所以基本的東西,如Object或者甚至String構造函數在小部件的JavaScript評估時都不可用。

Slidejs插件將分離幻燈片div的內容(您可以看到jQuery wrapAll調用,即有效刪除並重新附加幻燈片的內容)。我試過在slidejs完成初始化後才加載iframe,但即使只有iframe容器display CSS屬性設置爲none,也會阻止iframe在IE9中可見。 IE9如何處理iframe是另一個問題。

你可以做的另一件事是隻在顯示幻燈片後初始化小部件iframe,但不幸的是,slidejs不提供該事件的回調API。

因此,我的建議是嘗試另一個插件,它可以爲您提供相同的功能,但可以讓您在所顯示的幻燈片上創建iframe,或者通過使用position:absolute;left:-9999px或類似的內容隱藏幻燈片來修補此插件,而不是使用display:none

我希望這有助於!

UPD。 MSDN「移動」(或刪除)該鏈接的內容。該文章的Wayback機器鏈接是here

相關問題