Youtubecenter: [Solicitação de recurso] Adicionar à lista de reprodução da página de inscrição

Criado em 31 mai. 2015  ·  3Comentários  ·  Fonte: YePpHa/YouTubeCenter

Olá a todos,
Em primeiro lugar, muito obrigado por todos os ótimos recursos fornecidos pelo YT Center!
Gostaria de solicitar a adição de um botão "Adicionar à lista de reprodução" ao lado dos vídeos que aparecem na página "Minhas inscrições", semelhante ao botão "Adicionar a" que aparece em cada página de vídeo individual. O Android App já tem isso implementado, então é um pouco ridículo que a versão desktop não tenha. Tanto quanto sei, a implementação deve ser bastante simples, pois simplesmente adicionar o botão Adicionar a cada elemento de vídeo funcionaria totalmente.

Desde já, obrigado!

Feature Request

Todos 3 comentários

Muito semelhante ao #2107

As miniaturas de vídeo definitivamente devem ter um botão para adicionar à lista de reprodução (não apenas na página de inscrição).

Frustrantemente, o YouTube costumava ter isso , até que em 2012 eles substituíram o botão adicionar à lista de reprodução pelo botão assistir mais tarde no canto inferior direito das miniaturas de vídeo.

image

Então, parece que só precisamos fazer uma única solicitação de postagem ajax, que retornará o HTML do menu Add To (bem, ele retorna XML, mas o elemento root->html_content contém o HTML do menu).

A solicitação é para https://www.youtube.com/addto_ajax?action_get_dropdown=1&hide_watch_later=false , e o corpo deve ser x-www-form-urlencoded com video_ids , session_token (e possivelmente src_playlist_id ).

image

Ok, parece que session_token e src_playlist não são necessários.

A solicitação a seguir funcionou bem para mim:

function getAddMenu(video, domElement) {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function readyStateChange() {
        if (this.readyState == 4 && this.status == 200) {
            var html = xhttp.responseXML.getElementsByTagName('html_content')[0].textContent;

            domElement.innerHTML = html;
        }
    };
    xhttp.open('POST', '/addto_ajax?action_get_dropdown=1&hide_watch_later=false', true);
    xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    xhttp.send('video_ids=' + video);
}

getAddMenu('rh7kpkwXnwA', document.getElementById('foo'))
Esta página foi útil?
0 / 5 - 0 avaliações