Webgadget und window.print

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
TroaX
Beiträge: 659
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Webgadget und window.print

Beitrag von TroaX »

Ich habe über die SuFu jetzt nichts gefunden. Daher stelle ich mal direkt die Frage.

Ich habe gerade kein Linux zur Hand. Müsste dennoch wissen, ob es funktioniert. Unter Windows (IE-Gadget) kann ich mit der Javascript-Funktion window.print() den Druckdialog starten und die im Gadget angezeigte Seite ausdrucken. Geht das auch unter Linux mit dem Webkit-Gadget oder gibt es da systemseitige einschränkungen?
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Webgadget und window.print

Beitrag von NicTheQuick »

Hast du einen Code-Schnipsel, damit ich jetzt nicht selbst was basteln muss? Ich befasse mich mit dem WebGadget normalerweise nicht, aber ich teste es gerne für dich.
Bild
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: Webgadget und window.print

Beitrag von Kukulkan »

Vermutlich noch aktuell:

How to print WebGadget in Linux?
http://www.purebasic.fr/english/viewtop ... 15&t=48664
Benutzeravatar
TroaX
Beiträge: 659
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Webgadget und window.print

Beitrag von TroaX »

Code: Alles auswählen

OpenWindow(0,50,50,800,600,"WebPrintTest")
WebGadget(1,0,0,800,600,"")
SetGadgetText(1,"javascript:window.print()")

Repeat
  Event = WindowEvent()
Until Event = #PB_Event_CloseWindow
@Kukulkan: LOL Wieso sagst du nicht einfach, das es funkltioniert :lol: Danke :)
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Webgadget und window.print

Beitrag von NicTheQuick »

Also bei mir friert nur das Fenster ein und dann stürzt es ab. Also scheint nicht zu funktionieren.
Bild
Benutzeravatar
TroaX
Beiträge: 659
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Webgadget und window.print

Beitrag von TroaX »

NicTheQuick hat geschrieben:Also bei mir friert nur das Fenster ein und dann stürzt es ab. Also scheint nicht zu funktionieren.
Hmm jetzt stellt sich die Frage, ob es daran liegt, das man es über die URL aufruft oder ob sich über einen Link eines eingebetteten HTML auch besteht.

Könntest du es noch einmal ohne SetGadgetText() testen und auf der Seite links einmal auf "Druckversion" klicken?

Code: Alles auswählen

OpenWindow(0,50,50,800,600,"WebPrintTest")
WebGadget(1,0,0,800,600,"https://de.wikipedia.org/wiki/JavaScript")

Repeat
  Event = WindowEvent()
Until Event = #PB_Event_CloseWindow
Wenn es dann auch einfriert, dann liegt es am JS des Gadgets und dann muss ich eine andere Lösung suchen.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Webgadget und window.print

Beitrag von NicTheQuick »

Ach, weißt du was. Mein WebGadget öffnet sich gar nicht. Da merkt man mal wie selten ich das nutze. :-D Vielleicht fehlt mir noch irgendeine Bibliothek dafür. Muss mal schnell schauen, dann melde ich mich wieder.
Bild
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: Webgadget und window.print

Beitrag von Kukulkan »

TroaX hat geschrieben:@Kukulkan: LOL Wieso sagst du nicht einfach, das es funkltioniert :lol: Danke :)
Weil der Thread zeigt, dass es auch anders geht. Ich zeige dort einen Workaround:
I currently solved it that way:
1) use body-text to replace "</html>" with "<script>window.print();</script></html>"
2) save the message body again (same filename)
3) force the webgadget to reload using SetGadgetText(webMessageID, "file:///" + strBodyFile.s)
Der geht bei uns zuverlässig seit langem und über alle Plattformen. Du könntest das abwandeln und ähnliches versuchen.
Benutzeravatar
TroaX
Beiträge: 659
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Webgadget und window.print

Beitrag von TroaX »

Mir ging es im Grunde ja nur darum, ob window.print() beim Webgadget unter Linux überhaupt geht. Und so wie es aussieht geht es wohl.

Am schönsten wäre noch, wenn ich jetzt noch einen Weg finde, wie ich aus PB heraus das Absenden eines Formulares plattformunabhängig triggern kann. Dann kann ich mich mal an meine Idee machen ^^
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
#NULL
Beiträge: 2235
Registriert: 20.04.2006 09:50

Re: Webgadget und window.print

Beitrag von #NULL »

Code: Alles auswählen

...
WebGadget(1,0,0,800,600,"https://de.wikipedia.org/wiki/JavaScript")
...
Die 'Druckversion' öffnet bei mir im WebGadget nur die Seite als druckbare Version, aber kein Dialog. Firefox öffnet einen Dialog zur Druckerauswahl, QupZilla (QtWebEngine/Chrome) öffnet die Druckvorschau.

Code: Alles auswählen

WebGadget(1,0,0,800,600,"")
SetGadgetText(1,"javascript:window.print()")
zeigt mir eine Fehlerseite an:

Code: Alles auswählen

Unable to load page

Problem occurred while loading the URL javascript:window.print()

Die Adresse kann nicht angezeigt werden

[Try again]
Test mit einer lokalen Datei:

Code: Alles auswählen

<!DOCTYPE html>
<html>
	<head>
		<script type="text/javascript">
			//alert("js");
			window.print();
		</script>
	</head>
	
	<body>
		<h1>aaaaaaaaaaa</h1>
	</body>
</html>

Code: Alles auswählen

OpenWindow(0,50,50,800,600,"WebPrintTest")
WebGadget(1,0,0,800,600,"http://localhost/test.html")

Repeat
  Event = WindowEvent()
Until Event = #PB_Event_CloseWindow
..zeigt die Seite an, löst aber ebenfalls nix Druck aus. Der alert() macht bei mir auch nix.
my pb stuff..
Bild..jedenfalls war das mal so.
Antworten