WebGadget()
Syntax
Ergebnis = WebGadget(#Gadget, x, y, Breite, Höhe, URL$ [, Flags])Beschreibung
Erstellt ein Web-Gadget in der aktuellen Gadgetliste. Dieses kann Html-Seiten darstellen.
Parameter
#Gadget Gibt eine Nummer an, um das neue Gadget zu identifizieren. #PB_Any kann verwendet werden, um diese Nummer automatisch zu generieren. x, y, Breite, Höhe Geben die Position und die Abmessungen des neuen Gadgets an. URL$ Gibt die nach dem Erstellen des Gadgets zu ladende URL an. Flags (optional) Gibt optionale Flags an, um das Gadget-Verhalten zu verändern. Dies kann folgende Konstante sein: #PB_Web_Mozilla : Verwendet das Mozilla ActiveX anstelle des vom IExplorers (nur auf Windows).
Rückgabewert
Gibt bei Erfolg einen Wert ungleich Null zurück, oder Null bei einem Fehler. Wenn #PB_Any als #Gadget Parameter verwendet wurde, dann beinhaltet der Rückgabewert bei Erfolg die automatisch generierte Gadget-Nummer.
Diese Funktion schlägt fehl, wenn die für das WebGadget benötigten Komponenten nicht geladen werden können. Siehe unten für die Voraussetzungen des WebGadgets auf jedem OS.
Anmerkungen
Die folgenden Komponenten werden benötigt, um das WebGadget auf jedem OS zu verwenden. Diese Komponenten werden benötigt, um das WebGadget zu verwenden, nicht nur beim Kompilieren des Programms.
WindowsDas WebGadget verwendet auf Windows das "Internet Explorer 4.0+ ActiveX Objekt". Dies bedeutet, dass IE installiert sein muss (standardmäßig installiert auf Win98/ME und Win2000/XP). Weiterhin wird die "Active Template Library" (ATL.dll), welche sich im Verzeichnis "PureBasic\Compilers\" befindet, ebenfalls benötigt. Diese Bibliothek ist üblicherweise auf modernen Windows-Versionen ebenfalls vorhanden. Da sie jedoch keine System-Komponente ist, ist es sicherer, die ATL.dll aus dem Compiler-Verzeichnis bei Ihrem Programm mitzuliefern.Linux
Als eine Alternative kann stattdessen das "Mozilla ActiveX" (http://www.iol.ie/~locka/mozilla/mozilla.htm) verwendet werden, wenn das #PB_Web_Mozilla Flag angegeben wurde (das Mozilla ActiveX muss separat installiert werden, es ist bei FireFox oder Mozilla nicht dabei). Die ATL.dll wird auch in diesem Fall benötigt.Das WebGadget verwendet auf Linux die "WebKitGtk Library". Das Paket mit dieser Bibliothek hat den Namen 'libwebkit'. Einige Distributionen verwenden möglicherweise eine alte Version dieses Pakets namens 'WebKitGtk'. Wenn Ihre Distribution kein Paket für diese Bibliothek enthält, dann können die Quellcodes von der WebKitGtk Homepage geladen werden.Mac OSXDas WebGadget verwendet auf Mac OSX die "WebKit" Komponente. Diese Komponente ist beim Betriebssystem dabei. Es gibt keine weiteren Anforderungen.Die folgenden Befehle können zum Zugriff auf das WebGadget benutzt werden:
- SetGadgetText(): Ändert die aktuelle URL.
- GetGadgetText(): Ermittelt die aktuelle URL.
- SetGadgetState(): Führt eine Aktion auf dem Gadget aus. Die folgenden Konstanten sind gültig:#PB_Web_Back : Ein Schritt zurück in der Navigations-Historie. #PB_Web_Forward: Ein Schritt vorwärts in der Navigations-Historie. #PB_Web_Stop : Stoppt das Laden der aktuellen Seite. #PB_Web_Refresh: Erneutes Laden ("Refresh") der aktuellen Seite.Hinweis: Die folgenden Features arbeiten nicht mit dem "Mozilla ActiveX" auf Windows (#PB_Web_Mozilla Flag)
- SetGadgetItemText(): Mit #PB_Web_HtmlCode als 'Eintrag' kann Html-Code in das Gadget eingefügt ("gestreamed") werden. (nur auf Windows)
- GetGadgetItemText(): Die folgenden Konstanten können verwendet werden, um Informationen zu erhalten: (nur auf Windows)#PB_Web_HtmlCode : Ermittelt den Html-Code vom Gadget. #PB_Web_PageTitle : Ermittelt den aktuellen Titel der angezeigten Seite. #PB_Web_StatusMessage: Ermittelt die aktuelle Statusleisten-Nachricht. #PB_Web_SelectedText : Ermittelt den aktuell selektierten Text innerhalb des Gadgets.- SetGadgetAttribute(): Setzt die folgenden Attribute: (nur auf Windows)#PB_Web_ScrollX : Legt die horizontale Scroll-Position fest. #PB_Web_ScrollY : Legt die vertikale Scroll-Position fest. #PB_Web_BlockPopups : Blockt Popup-Fenster ab. #PB_EventType_PopupWindow wird als Ereignis-Nachricht geschickt, wenn diese Einstellung aktiviert ist. #PB_Web_BlockPopupMenu: Blockt das standardmäßige Popup-Menü ab. #PB_EventType_PopupMenu wird als Ereignis-Nachricht geschickt, wenn diese Einstellung aktiviert ist. #PB_Web_NavigationCallback: Definiert einen Callback für das Überwachen (und Deaktivieren) der Navigation.Der Navigations-Callback muss das folgende Format haben:Procedure NavigationCallback(Gadget, Url$) ; ; Geben Sie #True zurück, um diese Navigation zu erlauben, oder #False um sie zu unterbinden. ; ProcedureReturn #True EndProcedure- GetGadgetAttribute(): Ermittelt die folgenden Attribute: (nur auf Windows)#PB_Web_ScrollX : Ermittelt die horizontale Scroll-Position. #PB_Web_ScrollY : Ermittelt die vertikale Scroll-Position. #PB_Web_Busy : Gibt einen Wert ungleich Null zurück, wenn das Gadget mit dem Laden einer Seite beschäftigt ist. #PB_Web_Progress : Gibt den aktuellen (manchmal geschätzten) Fortschritt nach einem #PB_EventType_DownloadProgress Ereignis zurück. #PB_Web_ProgressMax : Gibt den aktuellen (manchmal geschätzten) maximalen Fortschritt #PB_EventType_DownloadProgress Ereignis zurück. #PB_Web_BlockPopups : Ermittelt die aktuelle Einstellung zum Abblocken von Popup-Fenstern. #PB_Web_BlockPopupMenu: Ermittelt die aktuelle Einstellung zum Abblocken des Popup-Menüs. #PB_Web_NavigationCallback: Ermittelt den aktuellen Navigations-Callback (falls es einen gibt).Hinweise: Popup-Fenster und Popup-Menüs werden vom WebGadget nicht auf Linux unterstützt. Trotzdem kann die #PB_Web_BlockPopups Konstante gesetzt werden, um das #PB_EventType_PopupWindow Ereignis zu aktivieren. Das gleiche gilt für #PB_Web_BlockPopupMenu.
Die folgenden Typen von Ereignissen können bei diesem Gadget auftreten: (nur auf Windows)#PB_EventType_TitleChange : Der Seitentitel hat sich geändert. #PB_EventType_StatusChange : Die Status-Nachricht hat sich geändert. #PB_EventType_DownloadStart : Ein Seiten-Download startete. #PB_EventType_DownloadProgress: Fortschritt-Informationen sind mit GetGadgetAttribute() verfügbar. #PB_EventType_DownloadEnd : Ein Seiten-Download endete (abgeschlossen oder abgebrochen). #PB_EventType_PopupWindow : Ein Popup-Fenster wurde abgeblockt. #PB_EventType_PopupMenu : Das Popup-Menü wurde abgeblockt (zeigen Sie ein eigenes Menü stattdessen).
Beispiel
If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.com") ; Hinweis: wenn Sie eine lokale Datei benutzen möchten, dann ändern Sie den letzten Parameter ; in "file://" + Pfad + Dateiname Repeat Until WaitWindowEvent() = #PB_Event_CloseWindow EndIf
Beispiel 2: (mit Navigations-Callback); Dieses Beispiel zeigt die PureBasic.com Webseite an. Innerhalb der Callback-Prozedur ; wird das Navigieren zur 'News' Seite verhindert (#False zurückgegeben), jedoch für ; alle anderen Seite erlaubt (#True zurückgegeben). Procedure NavigationCallback(Gadget, Url$) If Url$= "http://www.purebasic.com/news.php" MessageRequester("", "No news today!") ProcedureReturn #False Else ProcedureReturn #True EndIf EndProcedure If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.com") SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback()) Repeat Until WaitWindowEvent() = #PB_Event_CloseWindow EndIf
Siehe auch
GetGadgetText(), SetGadgetText(), GetGadgetItemText(), SetGadgetItemText(), SetGadgetState(), GetGadgetAttribute(), SetGadgetAttribute()
Unterstützte OS
Alle