أهلا بكم،
أولاً ، شكرًا جزيلاً على كل الميزات الرائعة التي يوفرها مركز YT!
أرغب في طلب إضافة زر "إضافة إلى قائمة التشغيل" بجوار مقاطع الفيديو التي تظهر في صفحة "اشتراكاتي" ، على غرار الزر "إضافة إلى" الذي يظهر في كل صفحة فيديو فردية. لقد تم تنفيذ هذا بالفعل في تطبيق Android ، لذلك من السخف إلى حد ما أن نسخة سطح المكتب لا تفعل ذلك. على حد علمي ، يجب أن يكون التنفيذ بسيطًا إلى حد ما ، حيث إنني ببساطة أضيف الزر "إضافة إلى" لكل عنصر فيديو سيعمل تمامًا.
شكرا مقدما!
تشبه إلى حد بعيد # 2107
يجب أن تحتوي الصور المصغرة للفيديو بالتأكيد على زر إضافة إلى قائمة التشغيل (ليس فقط على صفحة الاشتراك).
بشكل محبط ، اعتاد YouTube الحصول على هذا ، حتى عام 2012 قاموا باستبدال زر إضافة إلى قائمة التشغيل بالزر مشاهدة لاحقًا في أسفل يمين الصور المصغرة للفيديو.
لذلك يبدو أننا نحتاج فقط إلى تقديم طلب نشر ajax واحد ، والذي سيعيد HTML لقائمة Add To (حسنًا ، يُرجع XML ، لكن العنصر root->html_content
يحتوي على HTML من القائمة).
الطلب إلى https://www.youtube.com/addto_ajax?action_get_dropdown=1&hide_watch_later=false
، ويجب أن يكون الجسم x-www-form-urlencoded
مع video_ids
، session_token
(وربما src_playlist_id
).
حسنًا ، يبدو أن session_token
و src_playlist
غير مطلوبين.
الطلب التالي يعمل بشكل جيد بالنسبة لي:
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'))