javascript - 如何使 youtube 字幕可选?

标签 javascript dom youtube caption subtitle

激活 youtube 字幕时,如果您尝试在 DOM 中由 id="caption-window-1" 标识的字幕中选择一个单词,首先注意到的是:它是不可选的,所以为了让它可选,我使用 chrome 浏览器上的开发者工具在 js 控制台中运行这个脚本:

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

轮到完美了,但是点击它时标题仍在移动(您可以在YouTube上自行尝试)

所以我不能轻易地在标题中选择一个词,它仍然在移动我所做的任何事情。

我想禁用 onclick 事件上的标题移动有什么想法可以使用 javascript 来解决这个问题吗?

最佳答案

在控制台中运行此脚本:

setInterval(make_subtitles_selectable, 250);
function make_subtitles_selectable(){
    elem=document.querySelector("span.ytp-caption-segment:not([selectable='true']");
    if(elem!=null){
        elem.style.userSelect="text";
        elem.style.cursor="text";
        elem.setAttribute("selectable", "true");
    }
    elem=document.querySelector("#caption-window-1:not([selectable='true']");
    if(elem!=null){
        elem.addEventListener("mousedown", function (event) {
            event.stopPropagation();
        }, true);
        elem.setAttribute("selectable", "true");
    }
}

关于javascript - 如何使 youtube 字幕可选?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40165879/

相关文章:

html - 嵌入 YouTube 视频时自动高度?

javascript - youTube外部控件

javascript - 给一个元素多个名称/id

javascript - 将值从一个 html 表单移动到另一个表单,因此一个表单提交来自自身和另一个表单的值

javascript - 无法通过 'findById' 和 save() 更新文档

javascript - 使用输入值提交表单后 React Router 重定向

javascript - insertBefore 不更新 rowIndex/nextSibling 属性

java - 对 youtube 应用配置文件/ channel 的 Intent

javascript - 在 XHTML Strict 1.0 中是否可以让按钮调用 JavaScript 函数?

javascript - 在两个变量上绑定(bind)相同的事件