[Ayuda] Como Incrustar (Botones/label/ otro...) en alguna pagina web, con javascript.

Iniciado por **Aincrad**, 12 Mayo 2021, 19:48 PM

0 Miembros y 1 Visitante están viendo este tema.

**Aincrad**

Hola, como dice el titulo, estoy necesitando inscrustar botones, en youtube. justo arriba del titulo.

pero por alguna razon el titulo desaparece , y aparece mi boton, osea esa region , desaparece .

estoy haciendo esto :

Código (javascript) [Seleccionar]
var html = `

<button name="favorito" type="button">
<svg aria-hidden="true" viewBox="0 0 10 10">
<path d="m7.4 8.8-2.4-1.3-2.4 1.3.46-2.7-2-1.9 2.7-.39 1.2-2.5 1.2 2.5 2.7.39-1.9 1.9z"/>

</svg>

Agregar a favoritos

</button>

`;

var OldCode = document.getElementById("info").innerHTML +'\n';

document.getElementById("info").innerHTML=OldCode + html ;



Y este es el resultado :







Como pueden ver el titulo e información del video , desapareció, y no se por que . espero puedan ayudarme, gracias de antemano.





MinusFour

Bleh, el markup de Youtube es horrible, por ejemplo hay varios #info.

Lo que vi es que al momento de parsear:

Código (html) [Seleccionar]

<yt-formatted-string force-default-style=\"\" class=\"style-scope ytd-video-primary-info-renderer\">Titulo</yt-formatted-string>


Simplemente ignora el contenido de la etiqueta por alguna razón.

Código (html) [Seleccionar]

<yt-formatted-string class=\"super-title style-scope ytd-video-primary-info-renderer\" force-default-style=\"\">
            <!--css-build:shady-->
         </yt-formatted-string>


Creo que tiene algo que ver con el componente, pero no estoy seguro exactamente. Lo que yo recomendaría es que lo agregaras al DOM directamente y no lo estés recreando.

Código (javascript) [Seleccionar]

let html = `

<button name="favorito" type="button">
<svg aria-hidden="true" viewBox="0 0 10 10">
<path d="m7.4 8.8-2.4-1.3-2.4 1.3.46-2.7-2-1.9 2.7-.39 1.2-2.5 1.2 2.5 2.7.39-1.9 1.9z"/>

</svg>

Agregar a favoritos

</button>

`;
let tmp = document.createElement('div');
tmp.innerHTML = html;
document.getElementById('info').append(tmp);

**Aincrad**

Muchas gracias Funciona perfecto ! :






Solucionado!