WebGadget()

Syntax

Ergebnis = WebGadget(#Gadget, x, y, Breite, Höhe, URL$)
Description
Erstellt ein Web-Gadget in der aktuellen Gadgetliste. Dieses kann Html-Seiten darstellen.

Parameters

#Gadget Eine Nummer, um das neue Gadget zu identifizieren. #PB_Any kann verwendet werden, um diese Nummer automatisch zu generieren.
x, y, Breite, Höhe Die Position und die Abmessungen des neuen Gadgets.
URL$ Die nach dem Erstellen des Gadgets zu ladende URL.

Return value

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.

Remarks

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.

Windows
Das WebGadget verwendet auf Windows das "Internet Explorer 4.0+ ActiveX Objekt".

Denken Sie daran, in Ihren Codes "\" mit "/" zu ersetzen.
Linux
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 OSX
Das 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.

- 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).
Die folgenden Typen von Ereignissen können bei diesem Gadget auftreten:
  #PB_EventType_TitleChange     : Der Seitentitel hat sich geändert. (nur auf Windows)
  #PB_EventType_StatusChange    : Die Status-Nachricht hat sich geändert. (nur auf Windows)
  #PB_EventType_DownloadStart   : Ein Seiten-Download startete. (Windows, OS X)
  #PB_EventType_DownloadProgress: Fortschritt-Informationen sind mit GetGadgetAttribute() verfügbar. (nur auf Windows)
  #PB_EventType_DownloadEnd     : Ein Seiten-Download endete oder wurde abgebrochen. (Windows, OS X)
  #PB_EventType_PopupWindow     : Ein Popup-Fenster wurde abgeblockt. (nur auf Windows)
  #PB_EventType_PopupMenu       : Das Popup-Menü wurde abgeblockt (zeigen Sie stattdessen ein eigenes Menü). (nur auf Windows)

Example

  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

See Also

GetGadgetText(), SetGadgetText(), GetGadgetItemText(), SetGadgetItemText(), SetGadgetState(), GetGadgetAttribute(), SetGadgetAttribute()

Supported OS

All

<- UseGadgetList() - Gadget Index - WebGadgetPath() ->