YouTube <video> 元素在Firefox ContentScript中总是为空



main.js

highLevelTab.attach({
  contentScriptFile: "./yt-controls.js"
});
/

data/yt-controls.js

window.addEventListener("load", function(e) {
  var video = window.document.getElementsByTagName("video");
  console.log(video);
});

video出现为{"0":{}}.我是否需要将其注入页面脚本才能获得实际值?

事实证明,您可以在 Firefox 中使用 unsafeWindow 来按原样访问页面,毕竟页面上的所有脚本都弄乱了它,如此处所述。所以

window.addEventListener("load", function(e) {
  var video = unsafeWindow.document.getElementsByTagName("video");
  console.log(video);
});