Je suis chargement page web tiers qui contient le code suivantComment invoquer JavaScript personnalisé dans System.Windows.Forms.WebBrowser?
<script type="text/javascript">
onDomReady(function() { some_code1; });
</script>
dans le composant WebBrowser. Après some_code1
avait exécuté j'ai besoin de faire quelques manipulations avec Dom qui rendra some_code1
invalide. La question est comment déterminer que some_code1
avait exécuté?
Je ne cant't
private void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
DoRequiredManipulations();
}
Depuis cet événement aura lieu avantsome_code1
a exécuté et le rendre invalide.
Je ne peux pas faire
private void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
web.Document.InvokeScript("doSome_code1");
DoRequiredManipulations();
}
Depuis some_code1
est déclarée comme une fonction anonyme.
Il semble que la seule façon de le faire est la suivante:
private void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var script = GetScriptText(web.DocumentText);
//execute script in webbrowser
DoRequiredManipulations();
}
Le problème est que je ne sais pas comment exécuter ce script dans WebBrowser. J'avais essayé web.Navigate("javascript: " + script);
mais cela ne fonctionne pas correctement.