簡體   English   中英

在ajax調用視頻后使用Vimeo的api

[英]Using Vimeo's api after video called by ajax

我在網站上使用裝飾主題,當訪問者單擊作品集中的一個項目時,它將加載帖子的內容。 該帖子由vimeo制作的一個或多個視頻組成,通過iframe調用,如下所示:

<iframe id="player_0" src="http://player.vimeo.com/video/57038297?title=0&amp;byline=0&amp;portrait=0&amp;color=FF9A00&amp;api=1&amp;player_id=player_0" frameborder="0" width="632" height="356" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>

我已經使用過vimeo的froogaloop從外部鏈接停止/卸載視頻( 這是一個非常基本的測試 )。 這是控件的代碼:

var vimeoPlayers = document.querySelectorAll('iframe'), 
    player;

for (var i = 0, length = vimeoPlayers.length; i < length; i++) {
    player = vimeoPlayers[i];
    $f(player).addEvent('ready', ready);
}

function addEvent(element, eventName, callback) {
    if (element.addEventListener) { 
        element.addEventListener(eventName, callback, false); 
    }
    else { 
        element.attachEvent(eventName, callback, false); 
    }
}

function ready(player_id) {
    var container = document.getElementById(player_id),
        froogaloop = $f(player_id);
    $("a.stopvid").on('live', function(){ froogaloop.api('unload'); });
}

但是這一次我似乎無法設法使用api作為ajax調用后的視頻加載。

我試圖將上面的代碼包含在$(document).ajaxComplete(function(event, xhr, settings) { ... }); 但沒有運氣。

這是一個可以看到它的測試站點 菜單中的投資組合鏈接,然后單擊第一項 它將加載內容,並在右上角顯示一個小十字,以使視頻停止播放,但不停止。

幫助將不勝感激,我很迷路。

要做的第一件事是檢查頁面上是否沒有任何JavaScript錯誤。
您的iframe選擇器可能是通用的,您可能會捕獲其他“插件”(例如Facebook)使用的其他iframe。

要運行,需要froogaloop的功能需要在iframe上使用一個ID。 如果iframe上沒有ID,則您的ready事件將不會收到任何信息,並且player_id將是未定義的。

由於您正在使用JQuery,因此可以通過以下方式更改腳本的第一行:

var vimeoPlayers = $("iframe#player_0"), player;  

使用此行,您將確保僅選擇所需的iframe。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM