2012-01-11 51 views
0


我試圖解決的YouTube視頻的iFrame覆蓋和Z-指數的問題,爲了這個,我寫劇本:

$('iframe').each ->
ifr_source = $(this).attr 'src'
wmode = "wmode=transparent"
if ifr_source.indexOf('?') != -1
$(@).attr 'src', ifr_source + '&' + wmode
else $(@).attr 'src', ifr_source + '?' + wmode


它寫成的CoffeeScript。
問題是,腳本通過在iframe中添加wmode="transparent"參數來解決覆蓋問題,但在我的頁面中還有10個其他iframe,即共享按鈕等的iframe,並且wmode參數也會附加到它們。
所以我一直在尋找一種方式,我會先找到YouTube的iframe,然後爲其添加wmode="transparent"參數。
有沒有辦法做到這一點?
感謝您的時間。

編輯 -
我已經看到,在他們的iframe這裏添加類新的HTML5 YouTube視頻是示例代碼:

<iframe class="youtube-player" type="text/html" width="640" height="385" src="http://www.youtube.com/embed/VIDEO_ID" frameborder="0"></iframe>

所以,現在這些視頻可以很容易分辨,但對於較老的YouTube問題依舊相同視頻。如何區分Youtube的iframe和網頁中的其他iframe?

回答

1

您的$('iframe')選擇器可以做得更具體。我不確定你正在操作的HTML是什麼樣的,但例如,如果你想要的目標iframe在ID =「watch-player」的DIV中,那麼你可以使用:

$('#watch-player iframe') 

,並且只會返回id =「watch-player」的DIV內出現的iframe。

+0

實際上,我在不同版面的不同頁面上有相同的視頻,所以我不能這樣做。我已經嘗試過。 – 2012-01-11 07:27:11

+0

如果無法識別iframe可能出現在哪些容器中,並且無法識別iframe本身的屬性 - 那麼無法爲其編寫選擇器... – elijah 2012-01-11 07:29:12