Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

160
Visualizações
Acceder al reproductor de video React de Twitch desde un complemento/extensión

Quería crear botones que cambiaran las calidades de transmisión en Twitch para hacerlo más fácil en lugar de hacer clic tres veces (icono de configuración -> calidad -> calidad específica).

Decidí ocuparme de los complementos/extensiones más tarde e hice todo en un script de usuario dentro de ViolentMonkey para desarrollar, y pensé que simplemente agregar ese script como una entrada de content_scripts en el manifiesto haría que funcionara como una extensión, pero a mi sorpresa, la función no puede encontrar las propiedades de reacción para encontrar el 'reproductor de video real'.

El código que estoy usando para tomar el reproductor de video es este:

 function findPlayer() { try { let videoPlayer = null; function findReactNode(root, constraint) { if (root.stateNode && constraint(root.stateNode)) { return root.stateNode; } let node = root.child; while (node) { const result = findReactNode(node, constraint); if (result) { return result; } node = node.sibling; } return null; } let reactRootNode = null; let rootNode = document.querySelector('#root'); if (rootNode && rootNode._reactRootContainer && rootNode._reactRootContainer._internalRoot && rootNode._reactRootContainer._internalRoot.current) { reactRootNode = rootNode._reactRootContainer._internalRoot.current; } videoPlayer = findReactNode(reactRootNode, node => node.setPlayerActive && node.props && node.props.mediaPlayerInstance); videoPlayer = videoPlayer && videoPlayer.props && videoPlayer.props.mediaPlayerInstance ? videoPlayer.props.mediaPlayerInstance : null; if (videoPlayer) { return videoPlayer; } } catch(err) { console.log(err); } }

Noté que cuando traté de ejecutar la extensión, no hizo nada, así que, después de depurar un poco, descubrí que aunque rootNode regresa con éxito, en un script de usuario tiene todas las siguientes propiedades, pero cuando está en una extensión, le faltan los dos últimos, va de defineGetter a proto y listo.

 __defineGetter__ __defineSetter__ __lookupGetter__ __lookupSetter__ __proto__ __reactContainer$dbrtyzpjr3t _reactRootContainer <-- what I need

Incluso traté de buscar _reactRootContainer directamente, pero no hay muchos resultados de esto, y ninguno útil, también, traté de encontrar otras formas de entrometerme con las cosas internas de reacción de esta publicación: React: obtener un componente de un elemento DOM para depuración , que tampoco devuelve nada.

Alguien tiene alguna idea sobre cómo obtener el reproductor de video, no es necesario que sea a través de este método, nada que pueda usar para hacer videoPlayer.setQuality y demás.

¡Muchas gracias por adelantado!

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda