Cambiar HTML con Greasemonkey

He estado buscando una manera de cambiar HTML en un sitio web, mi principal problema es que no tiene una etiqueta de identificación que pueda usar para extraerla y cambiarla, usando JavaScript de Greasemonkey.

lo siento, dejé esa parte afuera. Estoy registrando el ganador actual en un servidor e intentando usar JavaScript a través de Greasemonkey para mostrar el último tiempo ganado en el sitio del juego.

A continuación se muestra una parte de la fuente, en el siguiente ejemplo, me gustaría agregar la hora actual al lado de Raiton entre las tags .

   Most Recent Winner: Raiton
Entry Cost: 11000 (resets at Dayroll)
Entry costs go up in 11 entries to 22000 Ryo
Number of plays today: 0

Hasta el momento, no he visto ninguna respuesta que simplemente responda la pregunta. Prueba esto:

 var elts = document.getElementsByTagName('b'), i = elts.length, elt, text; while (i--) { elt = elts[i]; text = elt.textContent; if (text === 'Raiton') { elt.textContent = text + ' ' + new Date(); break; } } 

Demostración: http://jsfiddle.net/mattball/Nvwmd/

Envuelva el texto que desea cambiar en una etiqueta

, luego encuentre el objeto div a través de su identificación. Luego cambie el miembro innerHTML del objeto.

HTML:

 
A value

JavaScript:

 var my_div = document.getElementById('some_id') my_div.innerHTML = 'Some other value' 

Siga este hilo: MozillaZine: reemplazo de texto simple con Greasemonkey

http://forums.mozillazine.org/viewtopic.php?f=19&t=907475

El esquema es el siguiente:

 document.body.innerHTML= document.body.innerHTML.replace(/original/g,"new"); 

Necesita escapar caracteres especiales como / y " con el símbolo \ .

JavaScript funciona mejor cuando el marcado está escrito de una manera que proporciona ‘ganchos’ para que llegue. Como realmente tiene texto flotante libre, no hay una buena forma de identificar el lugar específico donde desea insertar el texto.

Si controlas la fuente, parece que sería una buena idea agregar algunas tags

y otras con ID y clases para hacerte la vida más fácil.

Puede crear un elemento para usarlo para actualizar parte de su código:

También, por favor, google para html5, no usas los términos;

   Most Recent Winner: Raiton00:00
Entry Cost: 11000 (resets at Dayroll)
Entry costs go up in 11 entries to 22000 Ryo
Number of plays today: 0

Y en javascript:

 document.getElementById('time_handler').innerHTML = '11:23'; 

Introduce jQuery en tu script de GM (estarás contento más adelante).

Agregue esta línea al bloque de metadatos :

 // @require http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js 

Entonces este script hará lo que quieras:

 var bElem = $ ("b:contains('Raiton')"); bElem.text (bElem.text() + new Date() ) 

Vea la demostración en jsFiddle.