Speichern einer HTML Seite

  • Auch der erste Versuch sollte laufen, Du hast nur den Fehler gemacht, dass Du in readhtmlformdata auf firstInfo zugreifst, während die Daten in formdata stehen. Am besten gleich den passenden Namen verwenden:


  • PS: Um Überschneidungen bei "firstInfo" zu vermeiden, sollten wir besser bei formdata bleiben:

  • Mit diesem Code kommt bei mir zwar kein Fehler in der Konsole aber beim Speichern im Alert ein "undefined" und beim Laden gar kein alert


    Edit: das "undefined" war ein Fehler von mir beim speichern kommt der richtige Wert, nur beim Laden kein alert un dkein Fehler in der Konsole

  • Ich muss zugeben, dass ich den Code diesmal nicht getestet habe. Hast Du den aus meinem "PS" genommen? Wenn es mit dem nicht funktioniert, werde ich es noch Mal in meine Testseite eintragen.

    Ich habs noch einmal getestet, mit dem Code aus deinem PS passiert genau das gleiche wie bei meinem ersten Code, beim Speichern zeigt es den richtigen Wert an beim Laden kommt der Fehler "Uncaught TypeError: Cannot read property 'sysIntegr' of undefined" in der Konsole

  • So, ich habe das Ganze jetzt in meine Testseite übernommen. Folgende Probleme hatte ich:

    • Du greifst zwar auf 'sysIntegr' zu, in deinem Code aus Posting #40 finde ich dieses Feld jedoch nicht, sondern die Values werden direkt unter 'generalinfo" eingetragen.
    • Du definierst alles als Array, dann funktioniert es mit Namen als Schlüssel nur teilweise. Besser als Objekte definieren.

    Dies ist, was ich mir zusammen gereimt habe und was soweit funktioniert. Leider weiß ich jetzt nicht mehr, ob es noch deine Gegebenheiten trifft.

  • Dankeschön, klappt super


    'sysIntegr' enspricht bei mir dem Wert y[0].id, daher dachte ich das würde klappen. Jetzt funktioniert es wunderbar vielen Dank für deine Mühe :)


    Vermutlich wirst du die kommenden Tage noch einmal von mir hören

  • Ich habe noch eine Frage, ich habe es jetzt geschafft das zu speichernde HTML-File in einen ZIP-Ordner zu packen (mit jszip.js von https://github.com/Stuk/jszip/tree/master/dist) und in einem weiteren Unterordner eine generierte Textdatei:

    JavaScript
    var thehtml = $("html");
    var doc = '<!doctype html><html>' + thehtml.html() + '</html>';
    //ZIP BEREICH
    var zip = new JSZip();
    zip.file("test/saved.html", doc +"\n");
    zip.file("test/files/hello.txt", "");
    zip.generateAsync({type:"blob"}).then(function (blob) {
    download(blob, "savedTest.zip", "application/zip");});

    Ich hätte gerne statt dieser Textdatei alle mit dem HTML zusammenhängende Dateien (Bilder, CSS, Scripte etc.) in diesem Ordner, finde aber keine Möglichkeit wie ich die einlesen und in diesen Ordner packen kann

  • Wäre alles kein Problem, wenn Du einen Webserver lokal auf deinem Computer installieren könntest.

    Bei dem Skript, das die docx-Dateien erzeugt, wurde jedoch eine Möglichkeit angegeben, wie man die Bilder base64-kodiert inline einbinden kann. Ich werde es mir dort einmal ansehen, ob es eine Lösung liefert ...

  • Zitat

    wie man die Bilder base64-kodiert inline einbinden kann.

    Ergebnis: Funktioniert einwandfrei, aber nur, wenn das Skript auf einem Webserver läuft. Wenn nicht, gibt es, wie auch beim iFrame, Cross-Domain-Probleme ("tainted canvas") :(


    Wenn Du definitiv keinen Webserver installieren kannst, sehe ich nur noch die Möglichkeit, Javascript und CSS inline zu definieren, die Bilder manuell nach base64 zu konvertieren (dafür gibt es Online-Konverter) und ebenfalls inline zu definieren. Ein Vorteil wäre dabei, dass alles in der HTML-Datei vorhanden wäre und der Benutzer kein ZIP-File auspacken muss.


    Was ist denn eigentlich der Grund dafür, dass das lokal und ohne Webserver laufen muss?

  • Okay schade, dann wird es wohl nicht anders gehen. Der Grund ist, dass spätere Benutzer (es geht um einen Fragebogen) in der Regel keinen Webserver installiert haben, für mich selbst wäre das natürlich kein Problem aber ich kann das leider nicht von den Benutzern verlangen.


    Trotzdem noch einmal vielen vielen Dank für deine Hilfe du hast mir so enorm weitergeholfen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!