Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
Dans son message %23Z4mpbVTFHA.2128@TK2MSFTNGP14.phx.gbl
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.
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
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
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>.
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
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
Dans son message %23BYtuX0TFHA.2456@TK2MSFTNGP10.phx.gbl
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
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