Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi TEdgeBrowser - Inhalt speichern (https://www.delphipraxis.net/213290-tedgebrowser-inhalt-speichern.html)

blawen 2. Jul 2023 22:32

TEdgeBrowser - Inhalt speichern
 
Aktuell versuche ich mich an der Komponente TEdgeBrowser, bzw. TTMSFNCEdgeWebBrowser.

Meine Versuche mit dem Einbinden von Bootstrap haben erstaunlich schnell gefruchtet (ExecuteScript, bzw. ExecuteJavaScript).
Aber was ich noch nicht verstanden habe, ist wie ich den Inhalt als HTML-Datei abspeichern kann.

Kann mir jemand auf die Sprünge helfen?

mytbo 3. Jul 2023 01:14

AW: TEdgeBrowser - Inhalt speichern
 
Zitat:

Zitat von blawen (Beitrag 1524100)
Kann mir jemand auf die Sprünge helfen?

Die Frage ist: Was verstehst du unter speichern? Wenn du das Dokument mit Hilfe von JavaScript speichern willst, dann zum Beispiel mit dem Programm aus diesem Artikel und folgenden Quelltext:
Code:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h2>Document HTML</h2>
    <button onclick="getDocumentHTML()">Save Document HTML</button>
    <script>
        async function saveDocumentToFile(documentBlob) {
            const fileHandle = await window.showSaveFilePicker();
            const fileStream = await fileHandle.createWritable();
            await fileStream.write(documentBlob);
            await fileStream.close();
        }           

        function getDocumentHTML() {
            const docBlob = new Blob([document.documentElement.innerHTML], {type: 'text/html'});
            saveDocumentToFile(docBlob);
        }
    </script>
</body>
</html>
Einfach den Quelltext in den Editor kopieren und im HTML-Viewer das Ergebnis ansehen.

Bis bald...
Thomas

Der schöne Günther 3. Jul 2023 08:30

AW: TEdgeBrowser - Inhalt speichern
 
Ich vermisse aktuell auch vom guten alten IE-Control die Möglichkeit, einfach die "gesamte" Webseite mit allen ihren eingebetteten Medien (Grafiken, ...) als eine einzelne .mht-Datei zu speichern.

Die WebView2-API bietet die Möglichkeit, eine Webseite als PDF zu "drucken", aber am liebsten hätte ich es wieder so "wie früher".

himitsu 3. Jul 2023 09:21

AW: TEdgeBrowser - Inhalt speichern
 
Auch ohne .MHT aka .MHTML / MIME HTML, wäre sowas möglich.

Bilder via Data-Attribute, JavaScript und CSS lassen sich auch so direkt in der .HTML speichern.

<img src="data:image/jpeg;base64, ..." />




Wenn ich das so grob überblicke, dann müsste dürfte es doch fast möglich sein, dafür einfach die MIME-Header vom Indy-Mail dafür zu verwenden?
https://en.wikipedia.org/wiki/MHTML
Klar, muß man dafür alles selber speichern, aber wenn du einmal dafür eine Export-/Speicher-Funktion geschrieben und veröffentlich hast ... :stupid:




Komisch, dachte der FF konnte das auch mal.
Können denn viele Browser .MHT auch anzeigen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz