Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment afficher du code source contenu dans une variable texte dans un webbrowser ?

3 réponses
Avatar
Bull
Bonjour à tous,

J'aimerais avoir comment afficher du code source contenu dans une
variable String dans un webbrowser ?

Actuellement, je passe par un fichier .htm intermédiaire que je sauve
sur mon disque dur et après j'utilise la commande :

Browser.Navigate("c:\temp.htm")

Comment puis-je donc procéder pour ne pas passer par un fichier temporaire ?

Merci d'avance pour votre aide,

Cordialement,
Bull

3 réponses

Avatar
Fred
Dans son message %
Bull nous dit :

Bonjour à tous,

J'aimerais avoir comment afficher du code source contenu dans une
variable String dans un webbrowser ?

Actuellement, je passe par un fichier .htm intermédiaire que je sauve
sur mon disque dur et après j'utilise la commande :

Browser.Navigate("c:temp.htm")

Comment puis-je donc procéder pour ne pas passer par un fichier
temporaire ?
Merci d'avance pour votre aide,

Cordialement,
Bull



Bonjour,
Si j'ai bien compris, ceci devrait répondre en partie à la question. (code
dans une windows form)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
AxWebBrowser1.Navigate("")
End Sub

Private Sub AxWebBrowser1_DocumentComplete(ByVal sender As Object, ByVal e
As AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent) Handles
AxWebBrowser1.DocumentComplete
AxWebBrowser1.Document.write("<p>test</p>")
End Sub

D'après ce que j'ai compris, la propriété Document du WebBrowser n'est
accessible qu'après un premier chargement (même vide comme c'est le cas
ici).
Si la ligne figurant dans l'événement DocumentComplete est placée juste
après le Navigate, ça plante.
Et comme la propriété Document est en lecture seule on ne peut pas faire :
AxWebBrowser1.Document = New Mshtml.HTMLDocumentClass

De la manière exposée ici, on ne peut modifier que le contenu de la balise
<body>.
Cela doit pouvoir s'approfondir.



--
Fred
Avatar
Bull
Fred a écrit :

De la manière exposée ici, on ne peut modifier que le contenu de la balise
<body>.
Cela doit pouvoir s'approfondir.



Bonjour et merci pour votre réponse. Hélas, justement, je bloque depuis
plusieurs semaines à ce stade. On ne peut effectivement que modifier le
contenu de <body>, or il faut absolument que j'applique une feuille de
style, donc que je puisse modifier aussi la balise <head>.

Une idée ?

--
Cordialement,
Bull
Avatar
Fred
Dans son message %
Bull nous dit :

Fred a écrit :

De la manière exposée ici, on ne peut modifier que le contenu de la
balise <body>.
Cela doit pouvoir s'approfondir.



Bonjour et merci pour votre réponse. Hélas, justement, je bloque
depuis plusieurs semaines à ce stade. On ne peut effectivement que
modifier le contenu de <body>, or il faut absolument que j'applique
une feuille de style, donc que je puisse modifier aussi la balise
<head>.
Une idée ?



Dans ce cas on peut utiliser les propriétés/méthodes de l'objet
HTMLDocument.
Il y a entre autres une méthode createStyleSheet qui fait l'affaire.
La source de la page peut ensuite être récupérée avec
WebBrowser.Document.DocumentElement.innerHTML
Par contre je n'ai pas réussi à modifier cette dernière propriété, ce qui
correspondrait exactement à ce que vous voulez faire.
Plus d'informations sur le modèle objet d'un document HTML à partir d'ici :
http://minilien.fr/a0jzk5

--
Fred