Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Modificare la sorgente html prima di visualizzarlo
Forum - C# / VB.NET - Modificare la sorgente html prima di visualizzarlo

Avatar
kingjia90 (Normal User)
Newbie


Messaggi: 6
Iscritto: 15/11/2010

Segnala al moderatore
Postato alle 21:19
Domenica, 21/11/2010
sto usando GeckoFX e sono riuscito a modificare la sorgente html con il comando
        '  web1.Document.DocumentElement.InnerHtml = web1.Document.DocumentElement.InnerHtml.Replace("Contattaci", "BBB")

Pero' volevo fare in modo che lo modificasse prima di visualizzarlo.
Ho provato con Document_complete, navigating,navigated, ma nessuno di questi funziona per bene. La modifica dovrebbe applicarsi sulla pagina web gia' caricata, altrimenti il codice suddetto fa caricare una pagina bianca senza immagini e snza stile css.
Qualcuno ne sa qualcosa a riguardo?

PM
Avatar
Riki94 (Normal User)
Pro


Messaggi: 93
Iscritto: 30/07/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 21:59
Domenica, 21/11/2010
metti il controllo web browser, se usi quello, con la propietà visible=false

esegui il tuo codice

lo rendi visibile...

:k::k::k::k::k:


A proposito di politica... ci sarebbe qualcosa da mangiare?
by Totò
PM
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 23:08
Domenica, 21/11/2010
io ho usato Microsoft web browser non disponendo di GeckoFX dovrebbe funzionare comunque
Se vuoi continuare a usare il GeckoFX allora devi usare:
Codice sorgente - presumibilmente Plain Text

  1. web1.Document.Write(web1.Document.DocumentElement. _
  2. InnerHtml.Replace("Contattaci", "BBB"))
  3. 'anzichè
  4. 'web1.Document.DocumentElement.InnerHtml=web1.Document. _
  5. 'DocumentElement.InnerHtml.Replace("Contattaci", "BBB")




oppure puoi usare il web browser come suggerito da Riki94 in questo modo:
Codice sorgente - presumibilmente Plain Text

  1. WebClassico.Document.Write(WebClassico.DocumentText.Replace("Contattaci", "BBB"))


P.S.io ho sempre scritto il codice nell'evento DocumentComplete(o Document Completed se è il WB classico)


Ultima modifica effettuata da walker93 il 21/11/2010 alle 23:16


Il software è come il sesso, è meglio quando è libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM
Avatar
kingjia90 (Normal User)
Newbie


Messaggi: 6
Iscritto: 15/11/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 23:33
Domenica, 21/11/2010
ho risolto mettendo un timer e una variabile booleana che diventa true quando avviene il Progress Changed.
Non posso mettere il replace direttametne sotto progress changed perche' la pagina risulta essere bianca e il codice sorgente html non e' disponibile..ho provato con un sleep ma non va.

C'e' un gap di qualche microsecondo, come se si aggiornasse due volte, pero' ottengo l'effetto finale desiderato. Se facessi visible=false finche' non ha finito di fare il replace di tutte le righe come dice Riki. Speravo ci fosse un modo per modificare i dati durante il caricamento.

Mi dispiace walker ,ma il webkit Gecko e' diverso dal webbrowser di IE e non ha il comando write sfortunamatente.


PM