Injection javascript webbrowser ?

goory Messages postés 1 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 27 janvier 2010 - 27 janv. 2010 à 03:56
Pr0grammeur Messages postés 13 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 29 août 2010 - 6 août 2010 à 19:56
Bonjour,
J'essaye actuellement d'injecter du javascript dans un webbrowser control a l'aide ce code
void WebBrowser1DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElement elementAdd = webBrowser1.Document.GetElementsByTagName("HEAD")[0];
HtmlElement script = webBrowser1.Document.CreateElement("SCRIPT");
script.SetAttribute("type","text/javascript");
script.SetAttribute("src",@"C:\Users\Bobz\Desktop\script-Ftlm.user.js");
elementAdd.AppendChild(script);
}

ce que je ne comprend pas c'est que ceci fonctionne sur une page blanche stocké sur le disque dur, mais pas sur une page quelconque en-ligne :
celle-ci m'affiche " une erreur est survenue dans le script de la page, ligne: 1, caractère: 1, erreur: caractère inconnue, code :0 url:file:///C:/Users/Bobz/Desktop/script-Ftlm.user.js"
cette erreur s'affiche peu importe le script, même pour un alert("test") fonctionnant très bien sur le fichier locale

sinon n'y a t'il pas un moyen pour charger le fichier javascript et l'exécuté pour une url spécifique du webbrowser?

En faite j'aimerai pouvoir injecter du javascript à la manière des userscripts pour navigateur voir les userscripts eux même.
Help plzzz


Merci d'avance.

1 réponse

Pr0grammeur Messages postés 13 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 29 août 2010
6 août 2010 à 19:56
Je réponds surement trop tard, et tu as peut-être réglé ton soucis, mais je poste quand même une réponse au cas ou d'autres personnes tomberaient sur ce topic.

L'erreur est tout à fait normale car le site ne peux pas accéder à ton disque dur, il ne peut donc pas accéder à "C:\Users\Bobz\Desktop\script-Ftlm.user.js" qui est ton attribut src.

Il faut donc mettre en ligne ton script, et l'appeler via un chemin du genre "./script-Ftlm.user.js" en admettant qu'il se situe dans le chemin principal.
0