J'utilise WebKit dans une application C# pour rendre un document XML de style CSS, et j'aimerais pouvoir ajouter des éléments DOM. Comment puis-je avoir accès au DOM pour le faire? Le problème semble être qu'il n'y a aucune propriété dans la classe WebKitBrowser qui donne accès au membre webView privé. C'est possible? Dois-je modifier la classe pour l'ajouter? Est-ce que je fais juste mal?Comment puis-je accéder au DOM en utilisant WebKit.NET?
3
A
Répondre
0
WebKit.Net, à partir de 0.3.0 semble ne pas avoir accès au codedom. J'ai fait quelque chose de légèrement différent, j'ai utilisé le WebKit.Net, mais j'ai ajouté un écouteur HTTP à l'application, et j'ai mis en place le contrôle pour récupérer les pages à partir de là. De cette façon, j'ai accès aux messages et rappels dans la même application. Le reste je le fais avec JavaScript sur la page elle-même.
HttpListener listener;
public Form1() {
InitializeComponent();
listener = new System.Net.HttpListener();
listener.Prefixes.Add("http://*:88/");
listener.Start();
IAsyncResult result = listener.BeginGetContext(new AsyncCallback( ListenerCallback), listener);
}
public static void ListenerCallback(IAsyncResult result) {
string resp = "<body>test</body";
HttpListener listener = (HttpListener)result.AsyncState;
// Call EndGetContext to complete the asynchronous operation.
try {
HttpListenerContext context = listener.EndGetContext(result);
HttpListenerRequest request = context.Request;
// Obtain a response object.
HttpListenerResponse response = context.Response;
// Construct a response.
string webpage = request.Url.AbsolutePath.Substring(1);
string responseString = null;
if (string.IsNullOrEmpty(webpage)) {
responseString = resp;
}
else {
webpage = webpage.Replace(".", "_");
responseString = webkit_test.Properties.Resources.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, false).GetObject(webpage) as string;
if (responseString == null) {
responseString = "<html></html><body> 404 Web Page not Found</body>";
}
}
byte[ ] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
// Get a response stream and write the response to it.
response.ContentType = "text/html; charset=UTF-8";
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
output.Flush();
// You must close the output stream.
output.Close();
IAsyncResult result1 = listener.BeginGetContext(new AsyncCallback(ListenerCallback), listener);
}
catch { }
}
Btw. Ce code lira également la page Web à partir d'une ressource embellie
Questions connexes
- 1. Comment accéder aux éléments DOM mxml (Flex)?
- 2. Accéder au HTML en XML en utilisant SimpleXML en PHP
- 3. Comment accéder au DOM (ou au contenu HTML) de Firefox depuis l'extérieur de firefox
- 4. Comment accéder au texte "affiché" d'une option de boîte de sélection du DOM?
- 5. Comment remplacer l'élément DOM en place en utilisant Javascript?
- 6. Accéder aux commentaires en XML en utilisant XPath
- 7. Comment accéder aux valeurs des éléments imbriqués dans le DOM?
- 8. comment accéder au fichier xml?
- 9. Comment arrêter tous les événements DOM en utilisant javascript?
- 10. comment accéder au service web dans .net?
- 11. Existe-t-il un moyen d'accéder au DOM depuis Objective-C en utilisant UIWebView?
- 12. Comment accéder à DOM d'une page Web dans QtWebKit?
- 13. Comment accéder au drapeau "newPageLoaded" dans Selenium en utilisant le client Ruby?
- 14. Comment puis-je accéder au second élément avec les mêmes attributs en utilisant Watir?
- 15. Comment accéder au HTML d'un document dans Firefox en utilisant IAccessible
- 16. Comment accéder à une API en utilisant jQuery
- 17. Ajout d'éléments au DOM en utilisant appendChild puis renvoi à la classe qui les a créés
- 18. Accéder au paramètre html en PHP
- 19. Comment accéder à un flux audio en utilisant DirectShow.NET C#
- 20. Comment accéder au sommet de C#?
- 21. Comment accéder au DAL d'un autre module?
- 22. Copiez un document XML à l'autre en utilisant DOM
- 23. accéder à l'élément html en utilisant xpath
- 24. Accéder à plusieurs divs en utilisant Watin
- 25. Comment accéder à l'élément en utilisant Watir et XPath
- 26. Comment accéder au 'NameThreadForDebugging' dans Delphi 2010
- 27. Comment accéder au contenu d'un contrôle ASP.NET?
- 28. Comment accéder au widget parent sur qt?
- 29. Comment accéder au répertoire racine d'un dossier
- 30. Outlook Addin accéder au destinataire Exchange en mode hors connexion?