2011-06-12 120 views
0

我正在爲網站上的視頻彈出窗口我正在爲其進行一些開發工作。這個想法是點擊視頻的縮略圖,然後視頻流行離開頁面。就像Facebook與他們的圖片瀏覽器一樣。我目前有一個div標籤,它的CSS顯示屬性設置爲隱藏,並且沒有src的iframe。當用戶點擊縮略圖視頻我的JavaScript用這種方法加載相應的YouTube嵌入鏈接到的iframe:JavaScript問題,替換iframe的src和後退按鈕

document.getElementById('iframe-id').src = "http://www.youtube.com/embed/(videoID)"; 

的視頻設置爲自動開始播放。當用戶退出彈出內容時,iframe的src被設置爲「」,同樣的方法。它工作正常,並且視頻不再位於iframe中。問題在於後退按鈕。

這裏是我的進程,導致我的問題:

  1. 我點擊縮略圖和 視頻彈出關閉並開始播放。
  2. 我關閉了彈出的內容。
  3. 我按下後退按鈕。
  4. 我之前彈出的視頻正在後臺播放。 (該問題)

以下是我知道正在發生的過程:

  • 正在查看的頁面都創建了早在 歷史上的瀏覽器來背面有兩個 實例。 (即我按下 後退按鈕和我在同一頁 還在..這也是當視頻 開始特別 瀏覽器中播放)
  • 當我離開了彈出內容 開,然後按返回鍵我看到 只是一個空的iframe。

我相信我的問題在於我將src更改爲iframe。這個過程似乎導致瀏覽器再次加載頁面,並在歷史記錄中創建同一頁面的第二個實例(重新加載頁面時不會)。當按下後退按鈕時,頁面會轉到上一個實例,但根據瀏覽器的不同,隱藏的iframe並非始終爲空,並且視頻正在播放。

我的問題(S):

  • 可這個問題可以用 JavaScript的解決?
  • 如果它不能完成任務,我正在嘗試創建兩個單獨的同一頁面實例的問題?我認爲AJAX可能是解決方案,但我不知道。我對這一切還是有點新的。

回答

0

這可以在javascript中解決。

此外,AJAX與您遇到的問題無關。 AJAX是一種移動數據的機制,而不是處理HTML文檔。

如果你只是需要顯示一個視頻,你不需要使用iframe來這樣做。我建議在頁面的某個位置保留一個隱藏的div,並將其用作視頻彈出窗口的容器。當您需要顯示視頻時,請插入您需要的任何HTML,以便將其工作到div並在準備就緒時顯示它。

+0

問題已經用JS解決! iframe是youtube目前嵌入的方法,也是我使用它的唯一原因。我使用了一個隱藏的div標籤來傳遞我的內容,iframe就在其中。 – 2011-06-12 22:17:36