Ausprobieren hat geschrieben:Ich bräuchte da analog zum Windows das Kommando zum Auslesen des HTML-Codes: GetGadgetItemText(#PB_Web_HtmlCode)
und das Ende der Übertragung von Server zum Webgadget:
GetGadgetAttribute(#PB_EventType_DownloadEnd)
Könnte mir da jemand auf die Sprünge helfen?
Das folgende Beispiel liest in Ubuntu x86 oder einer davon abgeleiteten Distro den HTML-Inhalt einer Website aus, sobald die Website fertig aufgebaut ist. Ich habe es erfolgreich mit PB 5.43 x86 unter Kubuntu 14.04 x86 mit KDE und Linux Mint 18 Sarah x86 mit Cinnamon sowohl mit GTK2 als auch mit GTK3 und im ASCII- und Unicode-Modus getestet. Welche webkitgtk-Bibliotheken wie installiert werden müssen und die Importpfade für von Ubuntu abgeleiteteten x86 und x64 Distributionen (Debian-Paketformat) sowie Fedora (Red Hat Paketformat) habe ich bereits in
diesem Beitrag im englischen Forum ausführlich beschrieben.
Code: Alles auswählen
EnableExplicit
CompilerIf Subsystem("gtk2")
ImportC "/usr/lib/i386-linux-gnu/libwebkitgtk-1.0.so.0"
CompilerElse
ImportC "/usr/lib/i386-linux-gnu/libwebkitgtk-3.0.so.0"
CompilerEndIf
webkit_web_data_source_get_data(*WebDataSource)
webkit_web_frame_get_data_source(*WebFrame)
EndImport
#URL = "http://www.purebasic.com"
ProcedureC DocumentLoadCompleted(WebView.I, WebFrame.I, UserData.I)
Protected WebData.I
Protected *WebPageContent.GString
WebData = webkit_web_frame_get_data_source(WebFrame)
*WebPageContent = webkit_web_data_source_get_data(WebData)
Debug "Length = " + *WebPageContent\len
Debug "Allocated length = " + *WebPageContent\allocated_len
Debug PeekS(*WebPageContent\str, -1, #PB_Ascii)
EndProcedure
OpenWindow(0, 100, 100, 1000, 800, "HTML content")
WebGadget(0, 5, 5, WindowWidth(0) - 10, WindowHeight(0) - 10, #URL)
g_signal_connect_(GadgetID(0), "document-load-finished",
@DocumentLoadCompleted(), 0)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow