Text aus Webseite in text Datei speichern?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ja, ist es. Die JavaScript-Anwendung, die den Speichervorgang vornimmt, muss allerdings als Anwendung auf dem Server laufen. Dies wäre demzufolge eine Lösung basierend auf Node.js oder Deno.

Anwendung muss auf dem Server laufen, ich verstehe absolut nichts..

0
@Luna93136

Wenn du in deinem Browser eine Webseite aufrufst, geht eine Anfrage an den Webserver, der diese Webseite (HTML-Dokument sowie weitere Ressourcen: Bilder, Skripte, etc.) ausliefert. In diesen Auslieferungsprozess kann man sich mit einer eigenen Anwendung einklinken, um Anfragen individuell verarbeiten zu können.

Solche Serveranwendungen können mit verschiedenen Programmiersprachen geschrieben werden. Sei es PHP, JavaScript, Ruby, o.ä.. Die einzige Voraussetzung ist, dass der Webserver selbst diese Technologie unterstützt / interpretieren kann. Apache Webserver beispielsweise sind meist für die Interpretation von PHP- oder Perlskripten konfiguriert.

Für eine Serveranwendung in JavaScript muss der Webserver eine JavaScript-Engine integriert haben. Das ist bei einer Plattform wie Node.js der Fall.

1
@regex9

Okay das klingt logisch aber wie funktioniert das, ich habe zum Beispiel eine Datei namens Main.js und Index.html auf dem Server, wie funktioniert das mit dem Node.js?

0
@Luna93136

Ich würde als Grundlage zuerst einmal einen Express-Server nutzen. Das ist im Grunde ein JavaScript-Framework, welches auf einer Node.js-Plattform läuft.

In einer index.js kann man sich folgend Handler implementieren, die Formulardaten empfangen. Das Schreiben der Daten in eine Datei übernimmt das fs-Modul.

const express = require("express");
const bodyParser = require("body-parser");
const fs = require("fs");

const app = express();
app.use(bodyParser.urlencoded({ extended: true }));

app.post("/example", (request, response) => {
  const text = request.body["text"];
  fs.writeFile("path/to/file", data, "utf8");
  response.sendStatus(200);
});

app.listen(8080, () => console.log(`Server started.`));

Das Formular:

<!doctype html>
<head>
  <title>Example</title>
  <meta charset="utf-8">
</head>
<body>
  <form action="/example" method="post">
    <label for="text">Text:</label>
    <input id="text" name="text">
    <button>Send</button>
  </form>
</body>

Wenn du mit Node.js arbeiten möchtest, würde ich dazu raten, erst einmal Grundlagentutorials durchzuarbeiten. Beispielsweise auf Node.js.dev. Sichere JavaScript-Kenntnisse werden natürlich vorausgesetzt.

0
Die JavaScript-Anwendung, die den Speichervorgang vornimmt, muss allerdings als Anwendung auf dem Server laufen

Muss sie nicht, geht auch im Browser. Nur die .txt Datei muss man dann halt downloaden

0
@MrAmazing2

Der Download gehört m.E. zum Speichervorgang. Ein BLOB selbst ist noch keine Datei.

1
@MrAmazing2

Ja das stimmt, das habe ich auch hin bekommen aber das war leider nicht mein Ziel

0

Ja, das ist möglich, der Nutzer muss sich diese .txt Datei dann aber herunterladen.

function downloadContent(name, content) {
  var atag = document.createElement("a");
  var file = new Blob([content], {type: 'text/plain'});
  atag.href = URL.createObjectURL(file);
  atag.download = name;
  atag.click();
}

downloadContent("test.txt", "hello world");
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

Gibt es auch eine andere Lösung? Ich will das ich einen Text von der Webseite so einspeichern kann das ich ihn mit einem anderen Button wieder abrufen kann um so zum Beispiel einen Text zu einem anderen Gerät schicken kann, ihn dann bearbeiten kann und ihn anschließend zurück schicken kann oder so

0
@Luna93136

Du kannst doch einfach die Text-Datei über einen Messenger deiner Wahl an das andere Gerät schicken?

0
@Luna93136

Also wenn du von verschiedenen Geräten aus auf einer Website den selben Text bearbeiten können willst, und diese Bearbeitung soll dann jedes Gerät sehen, dann kommst du um einen Server nicht drum rum

0
@MrAmazing2

Ich will keinen Messenger Nutzen, ich will meine private Webseite nur erweitern..

0
@MrAmazing2

Was meinst du mit Server? nicht das wir aneinander vorbei reden..

0
@Luna93136

Server nennt sich das Ding, von dem aus die HTML Datei an denjenigen gesendet wird, der die Website aufruft. Wenn man Sachen speichern will, und zwar nicht im Browser der jeweiligen Nutzer sondern an einer zentralen Stelle, dann braucht man einen Server, der sich darum kümmert.

Wie hast du denn deine Website gemacht?
Ist das momentan nur eine HTML-Datei bei dir aufm PC, oder hostest du die Website schon irgendwo, oder hast du einen Baukasten (Wix, Squarespace, Jimdo, ..) verwendet?

0
@MrAmazing2

Ich hoste meine Webseite momentan so das ich sie von allen Geräten aus sehen kann!

0
@Luna93136

Und wie/wo ? Welche Server-Technologie oder welchen Anbieter verwendest du dafür? Hostest du es auf deinem PC?

0
@MrAmazing2

freehostingeu.com und zum Testen one.com aber die Domain gehört einem Kumpel und nur zum Testen..

0
@Luna93136

Ersterer Hosting-Service bietet nur Pakete für PHP/Perl und gegen Bezahlung auch Support für C#/Ruby/Python. Infos zur Umsetzung mit PHP hast du schon in deiner vorherigen Frage erhalten. Die anderen Optionen sind kaum einfacher.

1
@regex9

Schade, mit php kenne ich mich überhaupt nicht aus und eigentlich wollte ich erst JavaScript besser anwenden können bevor ich anfange eine neue Sprache zu lernen aber ich bekomme das schon irgendwie hin..

1