PDA

Ver la Versión Completa : Consulta para los que saben del twebbrowser


Mage
23-04-2006, 04:10:21
aqui mi pregunta complicada, estoy haciendo un navegador para una pagina, y lo que quiero hacer, es agregarle datos a esta pagina, para lo cual, busco los objetos del body en el cual debajo de ese quiero agregar en este caso un contador hecho en javascript con cuenta regresiba. Tratare de ser lo mas especifico posible.

Busco una etiqueta div, que cuando la encuentro, en el outerhtml le inserto el contador sea elemento.outerhtml := elemento.outerhtml + Codigo;
el codigo del contador esta correspondido por

funcion

una etiqueta div, que es modificada por el javascript

llamado a la funcion

entonces, al insertarlo en el documento(como el documento es web, no puedo grabarlo) no pasa nada, se queda el texto pero es como que no ejecuta la funcion javascript. con lo cual luego intente ejecutarla desde el dephi, pero tira error, ya que estos cambios realizados en el momento no se guardan, o sea que la funcion no esta visible.
No tengo idea de como ejecutarlo, y poder poner un contador de cuenta regresiba.
Saludos
Hernan

German
24-04-2006, 07:46:14
No veo exactamente cual seria la modificación del código html, pero tratare de darte alguna idea.

En vez de cargar la página en cuestión directamente en el tWebBrowser, podrias descargar el contenido html en un tStringList, utilizando un tIdHTTP (Indy), luego modificar el código HTTP en el tStringList de la manera que comentas, grabarlo localmente como un archivo temporal, y finalmente cargarlo en el tWebBrowser... algo asi como:

procedure TForm1.Button1Click(Sender: TObject);
var MiHTML: tStringList;
begin
MiHTML := tStringList.Create;
MiHTML.Text := IdHTTP1.Get('http://oksoft.es');
/////////////////////////////////////////////////////////////////////////////
// Aqui las modificaciones sobre el código HTML que contiene MiHTML
/////////////////////////////////////////////////////////////////////////////
MiHTML.SaveToFile('C:\MiPagina.htm');
MiHTML.Free;
WebBrowser1.Navigate('C:\MiPagina.htm');
end;

Salu2.

Mage
24-04-2006, 15:38:50
Uh je, para hacer eso, me es mas facil, poner un timer y remplazar yo a mano los textos, que es mas, acabo de hacer eso y me anda, pero sigo sin entender por que no me ejecuta el javascript, o tambien si uso la funcion para ejecutar uan funcion javascript desde delphi, me tira error como diciendo que no existe.
Bueno gracias.

German
24-04-2006, 18:44:34
El problema sera entonces el codigo "html final", incluyendo el JavaScript.
¿Te funciona abriendolo con el iexplorer directamente?...