J'ai un WPBr WebBrowser qui charge une page HTML avec des fonctions vbScript à partir de l'intranet Je veux exécuter une de ces fonctions et récupérer la valeur de retour.WPF WebBrowser invoquer un VBScript et récupérer sa valeur de retour
Malheureusement je n'ai aucune possibilité de modifier la page intranet
La fonction retourne une valeur booléenne et est comme suit
Function IsAltered(strMode)
' This procedure checks to see if Changes have been made without saving.
Dim objItem, blnIsAltered
IsAltered = False
blnIsAltered = False
For Each objItem In window.document.all
If (objItem.tagName = "INPUT" And objItem.className <> "Lbl" And objItem.className <> "NAF" And objItem.className <> "PreDispNoChange") Or _
objItem.tagname = "SELECT" Or objItem.tagname = "TEXTAREA" Then
If Left(objItem.Id, 3) <> "hid" And objItem.Type <> "hidden" And objItem.Style.Visibility <> "hidden" Then
If HasValueChanged(ObjItem.Id, Trim(objItem.Value)) Then
blnIsAltered = True
Exit For
End if
End If
End If
Next
IsAltered = blnIsAltered End Function
quelqu'un peut-il suggérer une façon de mettre en œuvre cette
Merci
Cordialement
Col
Je l'ai essayé d'utiliser cela, mais il y a deux questions 1) Je reçois l'erreur suivante messsage « Nom inconnu (Exception de HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME).) » 2) il y a un retour de vide sur invokeScript, donc je ne peux pas vérifier si la fonction renvoie true ou false? Merci Colm – Colmdoc
Apparemment, il existe certains problèmes avec le contrôle WPF WebBrowser. Voir le problème de StackOverflow concernant les différences entre les versions WPF et WinForms (voir marge). Vous souhaiterez peut-être basculer vers la version WinForms de WebBrowser. N'oubliez pas qu'il est relativement facile d'intégrer des composants WinForms dans WPF. De cette façon, vous obtenez un accès complet au DOM HTML. – kmontgom
merci je vais essayer et revenir à vous – Colmdoc