El enlace que pasas, no tiene ningún div con id interContainer. Donde si que existe ese ID es dentro del iframe que apunta a la URL que te pase (vergol.com).
De hecho esta dentro de 2 iframes:
Al estar dentro de un iframe y que el iframe apunte a otro dominio, javascript no puede hacer nada dentro. Puedes leer sobre eso buscado Crossdomain, same-origin o CORS.
Lo que tendrias que hacer es que tu script de greasemonkey, apuntase a ese dominio. Tomando de ejemplo lo que ha pasado el compañero y cambiando la URL quedaria así:
Y si abres directamente esa url, verás que si funciona.. Ahora tienes otros 2 problemas.
- La pagina original no muestra todo el contenido del iframe. Muestra solo los primeros 600 pixeles. Por lo tanto no ves el boton.
- Greasemonkey no parece cargarse cuando la página se ejecuta dentro de un iframe.
Buscando, he llegado a esto:
https://github.com/greasemonkey/greasemonkey/issues/2574
Donde se menciona que a partir de X actualización, ha dejado de ejecutar los scripts dentro de iframes. Al parecer hay un workaround que es cambiar el iframe por un embed, pero tendrias que cambiarlo tanto en la página principal como en el primer iframe. Otros directamente dicen que mejor usar otras cosas como Tampermonkey.
He instalado Tampermonkey y efectivamente si que funciona bien:
Saludos
De hecho esta dentro de 2 iframes:
Al estar dentro de un iframe y que el iframe apunte a otro dominio, javascript no puede hacer nada dentro. Puedes leer sobre eso buscado Crossdomain, same-origin o CORS.
Lo que tendrias que hacer es que tu script de greasemonkey, apuntase a ese dominio. Tomando de ejemplo lo que ha pasado el compañero y cambiando la URL quedaria así:
Código [Seleccionar]
// ==UserScript==
// @name ScriptDePrueba
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Script de prueba
// @author unsigned
// @match https://vergol.com/canales228/live/la1.php
// @grant none
// ==/UserScript==
function gm_main(){
// 1. Create the button
var button = document.createElement("button");
button.innerHTML = "Do Something";
// 2. Append somewhere
var body = document.getElementsByTagName("body")[0];
body.appendChild(button);
// 3. Add event handler
button.addEventListener ("click", function() {
alert(document.getElementById("interContainer").innerHTML);
});
}
(function() {
'use strict';
window.onload = gm_main();
})();
Y si abres directamente esa url, verás que si funciona.. Ahora tienes otros 2 problemas.
- La pagina original no muestra todo el contenido del iframe. Muestra solo los primeros 600 pixeles. Por lo tanto no ves el boton.
- Greasemonkey no parece cargarse cuando la página se ejecuta dentro de un iframe.
Buscando, he llegado a esto:
https://github.com/greasemonkey/greasemonkey/issues/2574
Donde se menciona que a partir de X actualización, ha dejado de ejecutar los scripts dentro de iframes. Al parecer hay un workaround que es cambiar el iframe por un embed, pero tendrias que cambiarlo tanto en la página principal como en el primer iframe. Otros directamente dicen que mejor usar otras cosas como Tampermonkey.
He instalado Tampermonkey y efectivamente si que funciona bien:
Código (javascript) [Seleccionar]
// ==UserScript==
// @name ScriptDePrueba
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Script de prueba
// @author unsigned
// @match https://vergol.com/*
// @grant none
// ==/UserScript==
function gm_main(){
var container = document.getElementById('interContainer');
// Si el contendor no existe, no me ejecuto.
if (container.length < 1) {
return;
}
alert(document.getElementById("interContainer").innerHTML);
}
(function() {
'use strict';
window.onload = gm_main();
})();
Saludos