2016-10-20 3 views
2

Wenn Sie Youtube-Untertitel aktivieren, wenn Sie versuchen, ein Wort in der Untertitelunterschrift zu wählen, die im DOM durch id="caption-window-1" identifiziert wird, ist die erste gemachte Sache: es ist nicht auswählbar, also um es wählbar zu machen, führe ich dieses Skript ein die js Konsole mit dem Entwickler-Tool auf chrome-Browser: bewegenWie können Youtube-Untertitel ausgewählt werden?

(function() { 
var caption= document.getElementById("caption-window-1"); 
caption.style.cursor="text"; 
caption.style["-webkit-user-select"]="all"; 
      })(); 

seinerseits perfekt, aber die Beschriftung noch, wenn Sie, (Sie es von Ihrem selbst auf YouTube versuchen können)

so kann ich‘ t Wähle einfach ein Wort in der Bildunterschrift, es bewegt sich immer noch, was auch immer ich mache.

Ich möchte die Bewegung der Beschriftung auf Onclick-Ereignis deaktivieren, eine Idee, die das mit Javascript beheben?

Antwort

0

Das Problem ist, dass das Textfeld ziehbar ist, damit der Benutzer das Feld an einer beliebigen Stelle auf dem Bildschirm positionieren kann, sodass es mit dem, was Sie versuchen, in Konflikt steht. Sie können den Text einfach aufzeichnen und auf ein Array übertragen und analysieren, nachdem das Video fertig ist.

Das Snippet ist nicht sehr elegant, aber sollte Ihnen den Einstieg:

var wordsAll = []; 
var wordsPrev = []; 
var previousLine = ''; 
function checkText() { 
    var caption= document.getElementById("caption-window-1"); 
    requestAnimationFrame(checkText); 
    if (caption === null) return; 
    var wordsNow = caption.textContent.split(' '); 
    if (wordsPrev.length > 0 && wordsPrev.length < wordsNow.length) { 
    for (var i=0,l= wordsNow.length; i<l; i++) { 
     wordsAll.push(wordsPrev[i]); 
    } 
    } 
    wordsPrev = wordsNow.slice(l); 
} 
checkText(); 

Dann einfach etwas tun, wie console.log(wordsAll.join(' '))

Hoffnung, das hilft!

+0

Dank für diese Details, sie sind sehr nützlich, wenn ich herunterladen möchten, aber ich will unter allen ein Wort wählen Sie einfach Wörter in der Beschriftung – Jolo

+0

wählen Sie es, damit die Google Übersetzer-Erweiterung diese Auswahl erkennen kann, dann kann ich es übersetzen, wie auch immer es eine nette Idee ist, die Sie vorschlagen. – Jolo

0

Sie benötigen capturing Ereignis-Listener zu installieren, die stopPropagation auf das Ereignis nennen es vor dem youtube abzufangen javascript sie verarbeiten kann und die Standard-Aktion unterdrücken, das heißt die Textauswahl

youtube subtitle event listeners.

+0

Das Problem ist, dass ich nicht weiß, welches Ereignis die Untertitelbewegung verursacht ... – Jolo

Verwandte Themen