Pas d'affichage Webview2

yammi - Modifié le 23 févr. 2022 à 10:21
 yammi - 25 févr. 2022 à 12:45
Bonjour à toutes et tous,

J'ai un logiciel maison qui utilise un webbrowser. Je rencontre un problème avec une incompatibilité à cause d'un navigateur trop ancien. De ce fait, après quelques recherches je viens de voir que la "norme" est désormais "webview2". Problème, rien ne fonctionne et je ne comprends pas grand chose malgré le fait d'y avoir passé pas mal de temps. Un coup de main pour me débloquer serait grandement apprécié !

J'ai fait une page très simple avec un code simple mais lors de l’exécution, je n'ai strictement rien qui s'affiche

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
WebView21.CoreWebView2.Navigate("https://wwww.google.fr")
End Sub
End Class



A quel moment je fais une erreur ?


Merci à vous pour votre aide !

P.S : je viens de voir que Internet Explorer sera retiré en juin 2022, que deviendra webbrowser ?
A voir également:

37 réponses

Je vais me répondre à moi-même en espérant qu'une âme charitable passe par là !

J'ai récupéré un projet simple via youtube (https://www.youtube.com/watch?v=DyG3A1ayUwc pour tenter de voir si c'était mon code qui posait problème ou autre chose. Même problème ! Le webview n'apparait pas au lancement du projet. L'espace est vide.

Dans la fenêtre d'erreur j'ai 2 avertissements :
- le composant référencé 'Microsoft.VCLibs.Desktop' est introuvable
- Idem avec un chemin plus long et Microsoft.Web.Webview2.Core.winmd Pour ce 2ème je ne comprends pas car ce fichier est bien présent mais comme le chemin de l'erreur comporte un \...\ je ne peux pas savoir où il le cherche très précisément !

A l'aide !!!!! Merci !
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 10:04
Bonjour
De la documentation à lire : https://docs.microsoft.com/fr-fr/microsoft-edge/webview2/get-started/winforms
C'est bien meilleur qu'un tuto Youtube !!!!
0
Bonjour et merci pour votre aide.

J'ai bien vu et suivi cet article avant de chercher partout, youtube compris, mais je n'arrive pas a avoir de webview qui s'affiche. En fait je bloque au point N7 :
"La propriété Source définit l’URI initial affiché dans le contrôle WebView2. Définissez la propriété Source sur https://www.microsoft.com."
Je ne trouve pas cette propriété.

Question subsidiaire, je viens de découvrir cefsharp qui semble parfaitement répondre à mon besoin qui est finalement très simple (récupérer le contenu d'une page et se logger sur un site). Pensez-vous que cela soit plus "intéressant" pour moi ?

Merci pour l'aide précieuse.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 10:44
Bonjour
Je vais regarder ce qu'il en est ( je vais moi-même créer un mini projet )
Pour cefsharp c'est quoi et où l'avez vous récupéré ?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 10:59
Bonjour
Je viens de tester .
J'ai bien un contrôle WebView sur ma Form et sa propriété Source est en bas de l'image

0
Je risque de ne pas être très juste dans mes explications car pas un spécialiste mais je pense que vous arriverez à comprendre.

A force de fouiller internet à la recherche d'infos pour faire fonctionner ce satané webview je suis tombé sur un article qui proposait de remplacer le webbrowser par cefsharp. J'ai donc essayé de suivre ce qui était dit et cela fonctionne, on a une sorte de webbrowser mais qui ne passe pas par explorer (a priori il passe par chromium).

Pour l'installer on passe par "gérer les packages NUGET" -> Parcourir -> CefSharp.winforms

Voici le code simple pour afficher une page :

Public Sub New()

        ' Cet appel est requis par le concepteur.
        InitializeComponent()

        ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim setting As New CefSettings
        setting.RemoteDebuggingPort = 8088
        CefSharp.Cef.Initialize(setting)

        browser = New ChromiumWebBrowser("https://www.google.fr")
        Panel1.Controls.Add(browser)
    End Sub

End Class



je n'arrive pas à attendre la fin du chargement de la page et à récupérer le code source dans une variable.

Merci
0
Etonnant ! Je viens de désinstaller et réinstaller et j'ai bien la propriété source ! Soit je suis passé 100 fois à coté soit je ne sais pas...

Par contre, toujours le même problème, lors du lancement du projet,le webview est absent
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 11:27
Pouvez-vous mettre le code de Form1 en respectant ceci : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Le langage se choisit avec l'icône en forme de triangle noir à l'envers .
Merci
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 11:22
Bonjour
Pour les balises de code suivre ce tuto : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code . il faut cliquer sur le 5° icone ( le triangle noir renversé ) et sélectionner son langage .
Je ne connais point du tout Cefsharp .
Pourquoi utiliser un contrôle tiers alors que Microsoft en a un tout fait pour Visual Studio .
Dans votre code utilisez plutôt le Form_Shown que le Form_Load ( Shown affiche la Form à l'écran alors que Load charge la Form )

Public Sub New()

        ' Cet appel est requis par le concepteur.
        InitializeComponent()

        ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim setting As New CefSettings
        setting.RemoteDebuggingPort = 8088
        CefSharp.Cef.Initialize(setting)
    End sub

    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
        browser = New ChromiumWebBrowser("https://www.google.fr")
        Panel1.Controls.Add(browser)
    End Sub

End Class
0
Pourquoi ne pas utiliser le controle windows ? Parce que je n'arrive pas à le faire s'afficher alors qu'il me semble que je suis à la lettre les consignes :-(

Webview devenant la référence j'aimerais l'utiliser mais impossible de la faire s'afficher alors je me dis que je ne suis as prêt d'interagir avec !

Je ne peux pas poster de photo mais en gros dans VB j'ai bien le webview qui est déssine et dès que je lance le programme, l'emplacement est vide.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 11:33
Chez moi le projet avec Webview fonctionne


0
C'est bien cela qui me rend fou ! Je semble être le seul à avoir ce problème !

J'ai essayé sur 2 PC différents, 1 en W7 et un en W10 et dans les 2 cas c'est la même chose !

Avez-vous installé quelques chose de particulier ?

J'ai :
Visual studio community 2017 version 15.9.1
framework : 4.6.2
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 11:44
Bonjour
Avez-vous installer Microsoft.Web.Webview ?
Dans la boite à outils avez-vous le contrôle Webview2 ?

Attention ce n'est pas le contrôle nommé WebBrowser .
0
pourriez-vous m'envoyer votre projet test pour que je puisse vérifier que cela fonctionne chez moi
0
Oui je pense avoir installé la bonne chose.

Une image : http://www.w-a-c.fr/webview/webview.png
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 12:00
Oui c'est bien cela .
Il faut mettre ce Webview sur la Form et entrer sa propriété Source avec l'Url d'un site ( exemple : https://www.google.com )
Pouvez-vous poster le code contenu dans Form1
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 11:52
J'ai essayé avec le contrôle WebBrowser de Visual Studio et cela fonctionne aussi .
On en est maintenant à Visual Studio Community 2022 qui est bien plus puissant et gratuit ( il faut juste avoir un compte Microsoft et s'enregistrer ) .
0
je ne peux pas poster dans l'immédiat car je suis en train d'installer la.version 2022. je poste dès que l'installation est terminée et que je peux ouvrir le projet.

Merci.
0
Ca y est, VB2022 est installé mais il n'est pas 100% compatible avec W7 et est trop gourmand pour mon PC ancien et trop plein. Je ne peux pas utiliser celui sous W10 pour faire ces essais et j'ai un PC en commande qui devrait bientôt arriver. Je vais donc rester sur VB2017 en attendant car normalement cela doit fonctionner.

Ma form est vide.. J'ai suivi les consignes de https://docs.microsoft.com/fr-fr/microsoft-edge/webview2/get-started/winforms


Private sub form1_load(sender as object, e as EventArgs) handles myBase.load

end sub


Je me sens un peu bête là en fait.... :-(
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 14:15
Bonjour
Rassures toi tu n'est nullement bête !
Mon Form_Load est exactement comme le tien que tu as montré .
Sur ta Form tu n'as bien mis uniquement le contrôle WebView ?
Tu lui a bien donné sa propriété Source ( cette propriété indique le site sur lequel le WebView va s'ouvrir ) ?
As-tu un message d'erreur lorsque tu lances le projet ?
Voici l'image de ma Form projet non lancé : le rectangle représente le contrôle Webview

0
J'ai quasiment la même chose à l'exception du fait que j'ai en plus un panel dans lequel s'affiche cefsharped et 2 boutons. Mais même quand je n'avais rien ou en récupérant un projet sur le net je n'ai jamais réussi à faire apparaitre le webview et ce, sur 2 PC différents !

Une copie de ma form non lancée : http://www.w-a-c.fr/webview/webview2.png
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 févr. 2022 à 14:31
J'ai installé Visual Studio Community 2017 pour être dans la même situation que vous .
Je vous dirai ce qu'il en est après test du projet
0
Rejoignez-nous