Beiträge von olaf2500

    Hallo zusammen, ich habe mal wieder eine Frage und zwar hätte ich gerne, dass Daten, die in einen Array gespeichert sind, beim schließen der HTML Seite gespeichert werden, sodass wenn man das Dokument das nächste mal öffnet die Daten immer noch vorhanden sind. Momentan löse ich das so, dass ich ein neues Dokument erstelle, ich Frage mich jedoch ob es auch möglich ist, die Daten zu behalten, ohne ein neues Dokument zu erstellen, so dass z.B. das aktuelle Dokument beim Knopfdruck nachhaltig verändert wird. Localstorage fällt raus, da die Datei auch an jemanden verschickt werden soll und dieser die eingetragenen Information ebenfalls aufrufen soll. Momentan mache ich es in etwa so

    HTML
    <script id="formdata"></script>

    Speichern:

    JavaScript
    var formdata = [];
    formdata = information;
    $("#formdata").text("var formdata = " + JSON.stringify(formdata)) + ";";
    var thehtml = $("html");
    var doc = '<!doctype html><html>' + thehtml.html() + '</html>';
    download(doc, "test.html", "text/html");

    Und beim öffnen des neuen Dokuments wird das hier aufgerufen


    JavaScript
    information = formdata;

    Wie gesagt, das funktioniert zwar, ich fände es aber schöner, wenn es einen Weg gäbe, ohne ein neues Dokument zu erstellen.

    Hallo,


    wenn ich eine Datei downloade und sie nicht speichere sondern direkt öffne wird diese ja im temp Ordner gespeichert. Gibt es eine Möglichkeit mit Javascript (offline) eine Datei direkt in den Temp Ordner zu speichern, bzw zusätzlich dort zu hinterlegen, auch wenn der Nutzer sie beim normalen downloaden nicht direkt öffnet sondern erst abspeichert?

    Ich hoffe ihr versteht was ich meine

    Falls mal wieder jemand auf den Beitrag stoßen sollte, ich habe das Problem gelöst, indem ich um den Text ein p Element packe und dem Absatzvermeidende Eigenschaften zuweise:

    Danke Arne Drews ohne deinen Hinweis wäre ich vermutlich nie darauf gekommen, dass das Problem mit einem Absatz zusammenhängt

    Ach so, habe ganz überlesen, dass Du das Resultat in Word meintest.

    Markiere mal das gesamte Dokument mit STRG+A und stelle die Formatvorlage auf "Kein Leerraum".

    Das ist schon mal super danke, allerdings wäre es noch deutlich schöner wenn das automatisch funktionieren würde, ohne dass man etwas in Word einstellen muss. Also dass es an jedem Rechner sofort einwandfrei aussieht.

    Als HTML Dokument betrachtet lässt es sich bei mir auch wunderbar ändern aber sobald ich es exportiere entsteht im Word eine zu große Zeile. Ich habe versucht die Schriftgröße zu ändern, dadurch sieht es zwar weniger schlimm aus aber es bleibt eine zu große Zeilenhöhe

    Hallo zusammen,


    ich benutze die oben genannte library um ein docx zu erstellen https://github.com/evidenceprime/html-docx-js


    Außerdem wird das mithilfe dieser library heruntergeladen https://github.com/rndme/download


    Allerdings haben die Zeilen der Tabelle die dabei heraus kommt eine unnötig große Höhehtml-seminar.de/woltlab/attachment/1547/


    Wie man sieht ist die Zeile doppelt so hoch wie der Text.


    Hier mein Code:


    max-height hat auch keinen Einfluss darauf.

    Hat jemand eine Idee wie man das ändern kann?

    Also den Anhang ( Gespeicherte Seiter ) mit den mailto: Link zu verknüpfen ,sehe ich auch keine möglichkeit .Zumindest fält mir nix ein .

    Du könntest mal die Php leute fragen ob da was möglich ist .Es gibt ja bei Php so ein mailer( Name weiß ich gerade nicht ) mit den das vieleicht möglich ist.

    Aber dazu kann ich dir nicht genaueres sagen. Mit den mailto: Link muß ich mal googeln ,aber glaube nicht das es so geht .Aber fragen wir mal google

    PHP fällt leider weg, da kein Server benutzt wird. Ich vermute leider auch, dass es nicht geht. Google sagt laut meiner Recherche es sollte nicht einmal funktionieren mit mailto einen Anhang zu senden, aber das funktioniert bei mir, leider nur mit festem Pfad. Dann muss der Nutzer wohl oder übel den Pfad selbst eingeben.

    Falls es wen interessiert: das Problem mit dem Speichern habe ich gelöst, indem ich die Datei in ihre URL umwandel und diese als String speichere, dieser bleibt erhalten. Nun fehlt mir nur noch eine Lösung für das Anhängen der gespeicherten Page an die Mail, auch wenn ich bezweifle dass es hierfür eine Lösung gibt.

    Hallo,


    ich bräuchte mal wieder Hilfe. Meine Seite ist ohne Server, daher arbeite ich nur mit HTML und Javascript.


    Mein Ziel: ich möchte Dateien per Drag and Drop hinzufügen und zum Download anbieten. Anschließend diese Seite speichern und per Mail verschicken. Zu Beginn mein Code:


    Download.js habe ich von hier: https://github.com/rndme/download


    Das Hochladen und Downloaden funktioniert. Meine Problem: wenn ich nun den Save Button betätige, speichert es die Files nicht. Ich habe es mit selbst angelegten Objekteigenschaften getestet und dort funktioniert das Speichern, sprich hiermit:

    HTML
    var files = [];
        files[0] = new Object();
        files[0].name = "test";

    Bei hochgeladenen Dateien jedoch nicht, dementsprechend kann ich sie dann auch nicht mehr über den Download-Button herunterladen.

    Fällt jemandem ein wo mein Problem liegt und ob es dafür überhaupt eine Lösung gibt?


    Mein Zweites Problem ist, dass ich gerne über den mailto Link das Dokument, das über den Save-Button gespeichert wird an die Mail anhängen würde, aber ich muss bei attach= einen festen Pfad angeben. Ich habe keine Idee wie ich das Lösen kann, außer vom Benutzer den Pfad manuell eingeben zu lassen, aber das finde ich etwas unschön.


    PS: wie man sehen kann teste ich mit alert(savedFiles[0].name); ob der Name übernommen wird


    Falls jemand eine Idee hat wie meine Probleme lösbar sind wäre ich für die Hilfe sehr dankbar.


    MFG

    Hallo zusammen,


    ich habe ein kleines Feld, in das ich Datein per Drag and Drop ziehen kann. Den Code habe ich von Selfhtml:


    HTML
    <div id="dropzone"></div><output id="list"></output>
    CSS
    #dropzone {
        width: 10%;
        height: 5%;
        padding: 2%;
        background: white;
        border: 1px solid #666;
    }

    Wenn ich jetzt also Dateien in das Feld ziehe, wird mir darunter eine Liste angelegt, mit den Namen der Dateien. Ich hätte gerne vor dem Namen noch den Pfad der Datei. Bekommt man diesen irgendwie?

    Nehmen wir an die Auflösung ist bei 1920*1080, wenn ich dann die Höhe und Breite des Bildes angebe füllt das Bild einen größeren Bereich des Bildschirms aus, wenn man die Auflösung verringert, und das möchte ich verhindern.

    Bei der Standardauflösung soll sich dann das Textfeld 500 Pixel vom linken Rand befinden und 200 Pixel vom oberen, bei einer anderen Auflösung an der gleichen Stelle des Bildes, da dieses dann aber nicht mehr 500 Pixel hoch ist muss auch das Textfeld nach oben rutschen.


    Das alles hat von Anfang an auch funktioniert, ich habe nur nicht bemerkt, dass sich das Bild in der Größe nicht angepasst hat sondern nur sozusagen der Rahmen des Bildes (der div-Bereich).

    Das ist schon mal nicht richtig, was du da an Code hast.

    Das <style></style> gehört in den <head></head> Bereich!

    Dann solltest du testen, ob es mit...

    Code
    var windowWidth = window.innerWidth;
    var windowHeight = window.innerHeight;

    besser funktioniert.

    Hat leider nichts am Problem geändert.


    Ich bin ganz optimistisch, dass man das auch mit CSS machen kann, aber mir ist nicht ganz klar, wie Du es haben willst:

    • Soll das Bild das Browserfenster ganz ausfüllen?
    • Das Seitenverhältnis des Bildes soll erhalten bleiben?
    • Was ist der Sinn beim Drehen des Eingabefeldes um 90 Grad?
    • Das Eingabefeld soll vertikal zentriert sein?
    • Das Eingabefeld soll horizontal nicht zentriert, sondern mehr zum rechten Rand hin platziert werden?

    Punkt 1: Die Größe des Bildes ist relativ egal, es soll sich jedoch an die Auflösung anpassen, heißt es soll nicht größer sein wenn die Auflösung geringer ist.

    Punkt 2: Ja das Seitenverhältnis soll erhalten bleiben

    Punkt 3: Hat keinen tieferen Sinn, hatte vergessen das wieder heraus zu nehmen, Problem besteht aber ob gedreht oder nicht

    Punkt 4&5: Nein es soll nicht zwingend zentriert sein, es soll sich an einer bestimmten Stelle befinden: 500 vom linken Rand und 200 von oben, dass das vertikal genau das Zentrum ist, ist Zufall


    Edit: ich bin dämlich, ich musste background-size einfügen.

    Ohne hat sich das Bild an die vorgegebene Größe nicht angepasst daher sah es so aus als ob das Textfeld die Position ändert.


    Trotzdem danke euch beiden

    Hallo zusammen,


    Ich wusste nicht, in welchem Bereich ich das am besten frage, da das vermutlich mit CSS und JavaScript machbar wäre, ich denke CSS ist vermutlich eleganter, damit kenne ich mich aber praktisch null aus.


    ich versuche gerade ein Textfeld auf einem Bild zu platzieren, und es soll immer an genau der gleichen Stelle im Bild platziert sein, egal welche Auflösung am Monitor eingestellt ist. Das ist mein Code:

    Wie man sieht lese ich mit JavaScript die Breite und Höhe des Bildschirms aus und setze ihn in ein Verhältnis zu einem von mir gewählten Standard (1920*1080). Dann wollte ich die Position des Bildes und des Textfeldes abhängig von diesem Verhältnis festlegen. Das funktioniert allerdings nicht, bei anderer Auflösung ist auch das Feld an einer anderen Stelle. Hat jemand eine Idee wo mein Fehler liegt, bzw wie man es anders machen könnte?


    Danke

    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

    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

    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 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