WebGadget: Links abfangen und Code direkt hineinschreiben

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Die Gecko-Engine ist ja komplett anders aufgebaut, da müsste man das ganze komplett neu coden... Aber nichts desto trotz ein interessantes Beispiel/Proof of Concept (auch wenn ichs wegen Sicherheitsbedenken nicht mit dem InternetExplorer benutzen werde).
Benutzeravatar
blbltheworm
Beiträge: 217
Registriert: 22.09.2004 19:36
Wohnort: Auf der schönen Schwäbischen Alb

Beitrag von blbltheworm »

Ha, ich hab das Problem gefunden.
Es lag an meiner IE-Version.
Das ganze funktioniert erst ab IE 5.5 (bei w2k ist nur 5.0 dabei)
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Hm, wieso läuft das nicht in Prozeduren?

Code: Alles auswählen

Enumeration

#Webgadget = 0

EndEnumeration

XIncludeFile "WebGadgetExtras.pb" 

Procedure neu(wert.l)

Repeat

    
      If WebGadget_Open(#WebGadget, 0) 
  
      WebGadget_Write("<html><body><center>Test</body></html>") 
    
      WebGadget_Close() 
    EndIf 
      
      Delay(wert.l)

ForEver

EndProcedure

OpenWindow(1000,0,0,310,400,"",#PB_Window_BorderLess|#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(1000))

WebGadget(#WebGadget,5,70,300,200,"")

blub=CreateThread(@neu(),3000)

Repeat 
EventID = WaitWindowEvent()
If EventID=#PB_Event_CloseWindow:End:EndIf
ForEver
PB 6.21 | Win 11
hiltwin
Beiträge: 311
Registriert: 06.10.2005 11:08
Wohnort: D-31177 Harsum
Kontaktdaten:

Re: WebGadget: Links abfangen und Code direkt hineinschreibe

Beitrag von hiltwin »

Hallo,

ein kleiner, weiterer Tipp hierzu:

Wer´s wie im Beispiel macht:

Code: Alles auswählen

      
WebGadget_Write("<html><body><center><br>")
WebGadget_Write("<a href="+Chr(34)+"http://www.purebasic.com"+Chr(34)+">PureBasic.com</a><br>")
WebGadget_Write("<a href="+Chr(34)+"http://forums.purebasic.com"+Chr(34)+">Forum</a><br>")     
WebGadget_Write("</center></body></html>")
erhält hinterher einen HTLM-Quelltext, der so aussieht:

Code: Alles auswählen

<html><body><center><br><a href="http://www.purebasic.com">PureBasic.com</a><br><a href="http://forums.purebasic.com">Forum</a><br></center></body></html>
setzt man allerdings noch ein +CHR(10)

Code: Alles auswählen

      
WebGadget_Write("<html><body><center><br>"+CHR(10))
WebGadget_Write("<a href="+Chr(34)+"http://www.purebasic.com"+Chr(34)+">PureBasic.com</a><br>"+CHR(10))
WebGadget_Write("<a href="+Chr(34)+"http://forums.purebasic.com"+Chr(34)+">Forum</a><br>"+CHR(10))     
WebGadget_Write("</center></body></html>"+CHR(10))
hinter jede Befehlszeile, sieht der HTML-Quelltext dann wieder so aus:

Code: Alles auswählen

<html><body><center><br>
<a href="http://www.purebasic.com">PureBasic.com</a><br>
<a href="http://forums.purebasic.com">Forum</a><br>
</center></body></html>
Bei diesem Beispiel ist es nicht von Bedeutung, aber wenn man in das Webgadget .css oder Java Script Befehle reintickern will, die für das Layout genutzt werden, wird der HTML-Quelltext richtig gesetzt und es dürften keine Probleme auftreten.
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: WebGadget: Links abfangen und Code direkt hineinschreibe

Beitrag von Kiffi »

Hallo hiltwin,

> ein kleiner, weiterer Tipp hierzu:

der Tipp ist gut. Allerdings ist das ein Tipp, damit der Anwender den HTML-Code leichter lesen kann.

> aber wenn man in das Webgadget .css oder Java Script Befehle
> reintickern will, die für das Layout genutzt werden, wird der HTML-Quelltext
> richtig gesetzt und es dürften keine Probleme auftreten.

Zeilenumbrüche haben hier keinerlei Bedeutung. Weder für HTML, noch für
CSS und schon gar nicht für JavaScript.

Grüße ... Kiffi
a²+b²=mc²
hiltwin
Beiträge: 311
Registriert: 06.10.2005 11:08
Wohnort: D-31177 Harsum
Kontaktdaten:

Hmm ...

Beitrag von hiltwin »

.... Du scheinst recht zu haben!

Muss ich wohl noch einen weiteren Fehler im Quelltext für den HTML-Code gehabt haben, der nun auch verschwunden ist :freak:

Diesmal schon um 22.15 h der Fehler. Naja, allerdings funktioniert das +chr(10) ...
Ist ja auch was ...
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

@freak:

In wieweit ist denn Deine "WebGadgetExtras.pb" von damals noch für das WebGadget in der aktuellen 4.10-Beta2 anzuwenden?
Denn wenn ich den PB4-DemoCode von Dristar und den neuesten von Kiffi verlinkten WebGadgetExtras.pb Code nehme, erhalte ich unter PB4.10-Beta2 nur ein Fenster mit einem leeren WebGadget.
Ich nehme mal an, dass dies nicht so sein sollte. :roll:

Kann (sollte) man WebGadgetExtras noch verwenden oder sind Deine ganzen Ideen daraus bereits komplett in das neueste Webgadget eingeflossen und WebGadgetExtras damit hinfällig?

Dank und Gruß, PL.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
Weiser Mann
Beiträge: 15
Registriert: 04.10.2006 17:31
Kontaktdaten:

Beitrag von Weiser Mann »

also Danke erstmal für den code und das mitteilen :)

meine Frage dazu... Wie kann ich denn das Gadget wieder "leer" machen?

Mit Vielen, freundlichen Grüßen "Weiser Mann" :mrgreen:
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Weiser Mann hat geschrieben:Wie kann ich denn das Gadget wieder "leer" machen?
entweder mit

Code: Alles auswählen

SetGadgetText(DeinWebGadget, "about:blank")
oder mit

Code: Alles auswählen

SetGadgetItemText(DeinWebGadget, #PB_Web_HtmlCode, "")
Grüße ... Kiffi
a²+b²=mc²
Antworten