2016-08-05 67 views
0
執行的postMessage

我試圖到YouTube加載到使用YouTube iFrame Player API我的網頁,並獲得以下錯誤而載入:的YouTube iFrame播放器API未能就DOMWindow

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.youtube.com') does not match the recipient window's origin ('https://developer-sandbox.com'). 

都起源和目標是https,有很少SO發佈通過保持原始&目標網址爲https解決問題。在這種情況下,兩者是相同的。

以下是JS代碼我用動態加載播放器:

showVideoPreview: function(youtube_id){ 
     var meThis = this; 
     var player = new YT.Player('shoppable-video-container', { 
      height : '315', 
      width : '560', 
      videoId : youtube_id, 
      events : { 
       'onReady'  : meThis.onPlayerReady, 
       'onStateChange' : meThis.onPlayerStateChange 
      } 
     }); 
    } 

youtube iframe api video loading error view

+0

對我來說,這是因爲jQuery是在''部分負荷。將它移動到''部分,但在'>之前工作正常。 – vee

回答

0

嘗試使用loadVideoById

這個函數加載並播放指定的視頻。

  • 所需videoId參數指定要播放的視頻的YouTube視頻ID。在YouTube數據API中,video資源的id屬性指定了該ID。
  • 可選startSeconds參數接受浮點數/整數。如果指定,則視頻將從最近的關鍵幀開始到指定的時間。
  • 可選endSeconds參數接受浮點數/整數。如果指定,則視頻將在指定的時間停止播放。
  • 可選suggestedQuality參數指定建議的視頻播放質量。有關播放質量的更多信息,請參閱setPlaybackQuality函數的定義。

下面是一個片段,以幫助您

JS

function searchVideo(){ 
var vID = document.getElementById("vidID").value 
player.loadVideoById(vID, 0, "default"); 

} 

HTML

Search by Video ID: <input type="text" id="vidID" name="vidID"><button onclick="searchVideo()">Search</button> 
相關問題