问题描述
1。上下文
我正在创建browser extension to enhance YouTube's keyboard navigation。我想到的快捷方式之一是评论 1 。
1:我目前正在使用Dart,但它模仿JS,以后无论如何都会被转译为JS。
2。我尝试过的
YouTube使用了许多自定义HTML元素,因此我尚不清楚什么有效以及何时起作用,最终我不得不对每次遇到自定义标签的情况进行反向工程。>
我基本上已经尝试过类似这样的事情:
document.querySelector('#labelAndInputContainer > div').click();
我应该改用focus()
吗?
div#labelAndInputContainer
元素一旦获得焦点,就会获得一个名为focused
的新类。
3。其他可选挑战
最后一部分的讨论已重定向至this other question。
首先,YouTube不会在视频下方加载评论部分。仅当您向下滚动时,注释部分才会出现 2 。那么,如何确定哪个事件触发了评论部分的加载?我该如何人为地发送它? —否则,注释框的HTML元素将不存在。
我一直在使用getEventListeners()
来确定哪些事件在哪些元素上起作用。
2:另一个示例是YouTube页面重新加载/导航到另一个页面,该页面由yt-navigate-start
触发。
您可能已经注意到,我不是JS专家,所以请随时了解基础知识或给我新手提示。
解决方法
当前,您可以使用其ID专注于评论输入:
document.getElementById("simplebox-placeholder").focus();
但是,只有当您向下翻页并等待其加载时,它才会加载。因此,请向下翻页并等待一段时间。
此外,根据窗口的宽度,您可能需要多次向下翻页。