2009-10-15 5 views
1

Comment créer un DIV flottant dans une page Web en charge en utilisant BHO avec C# .NET? Je veux juste injecter un extrait de code HTML pour DIV qui affichera "Hello World" sur la page. La div devrait avoir des styles de position absolue.Comment créer dynamiquement un div flottant dans BHO?

-Datte

+1

- Qu'est-ce que BHO? –

+2

http://en.wikipedia.org/wiki/Browser_Helper_Object –

Répondre

1

évier Juste l'événement DocumentComplete, obtenir la fenêtre parent du document rempli et appeler ExecScript sur l'objet de la fenêtre. Pour le code javascript qui injecte du HTML dans un document, vérifiez la référence DHTML dans IE SDK ou recherchez une bibliothèque de classes DHTML open source comme jquery et lisez son code.

1

J'utilise:

HTMLDocument document = (HTMLDocument)webBrowser.Document; 
IHTMLElement body = (IHTMLElement)document.body; 
body.insertAdjacentHTML("afterBegin", "html code"); 

Je pense que cette habitude courir les balises <style> mais vous pouvez utiliser

<div style="position:absolute;z-index:2000000;top:50%;left:50%;width:300px;height:300px;margin-top:-150px;margin-left:-150px;background:#000;">Hello World</div>

Mais vous ne pouvez pas exécuter js cette façon, je trouve une solution pour Ceci, vous pouvez insérer une balise iframe et définir votre js dans la balise onload = "", de cette façon le navigateur va exécuter votre js. Ou vous pouvez utiliser:

document.parentWindow.execScript("alert('a')"); 

Je l'ai utilisé pour insérer des fichiers js externes une fois et je pense que cela a bien fonctionné.

Questions connexes