Javascript: Log-Datei lokal anlegen und erweitern?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du wirst nicht von JS aus auf die Festplatte des nutzers zugreifen können. Du könntest aber eine eigene Log funktion programmieren, die z.b per Websockets oder Socket.io den text meinCoolerLog('Wichtiger log für text.log') an einen node.js server schickt, der den dan einfach in eine Textdatei schreibt.

Woher ich das weiß:Studium / Ausbildung – Informatikstudent
Hirnlos 
Fragesteller
 11.06.2020, 19:09

Und wie spreche ich die Websockets oder so mit Javascript an?
Und warum kann der Server bei mir lokal auf die Festplatte schreiben, aber mein Javascript nicht?

0
whgoffline  11.06.2020, 19:11
@Hirnlos

Weil er auf deinem PC als Programm läuft. Stell dir vor Hacker könnten einfach durch deine Festplatte kucken und schreiben.

0
Hirnlos 
Fragesteller
 11.06.2020, 19:16
@whgoffline

Ah jetzt hab ichs verstanden, dieser Server läuft bei mir lokal, also einfach ein Programm, mit dem ich ein Socket bereitstelle.

Und im JS definiere ich eine Verbindung da hin und sende einfach meinen console.log-Text an das Socket. Der "Server" schreibt mir dann die Logdatei.

Schlau.

3

Versuchs mal mit VBScript das lässt das FSO Objekt zu (FileSystemObject)

Beispiel:

<!--

Interaktive Hypertext Applikation

@ autor:    Gerhard Porpaczy ¿
@ email:    gerhard@porpaczy.com
@ website:    http://gerhard.porpaczy.com
-->
<HTML>
<HEAD>
<hta:application id="D:\@\@\@.exe - D:\@\Musik\Meine Mucke" applicationname="D:\@\@\@.exe - D:\@\Musik\Meine Mucke")
border="thin"
borderstyle="static"
caption="yes" contextmenu="yes"
icon="favicon.ico" innerborder="no"
maximizebutton="no" minimizebutton="yes"
navigable="yes" scroll="auto"
scrollflat="yes" selection="yes"
showintaskbar="yes" singleinstance="yes"
sysmenu="yes" version="1.0"
windowState="normal" >

<TITLE>@ - D:\@\Musik\Meine Mucke</TITLE>

<script language="VBScript">
Option Explicit
On Error Resume Next

Public Sub AppStart()
Window.resizeTo 1024,768
window.scrollTo 0,0

myLoop()
End Sub

...

Public Sub ReadFile()
On Error Resume Next
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")

Dim mySource
mySource = "D:\Temp\@.hta"
Dim tmpFile
tmpFile = "D:\Temp\D__@_Musik_Meine Mucke.tmp"
If FSO.FileExists(tmpFile) Then
Dim objTest
Set objTest = FSO.GetFile(tmpFile)
If objTest.Size > 0 Then
Dim objFile
Set objFile = FSO.OpenTextFile(tmpFile, 1)
Dim strParam
strParam = objFile.ReadAll
objFile.Close
Woher ich das weiß:Hobby
Hirnlos 
Fragesteller
 11.06.2020, 19:21

Hm ja, ich habe da aber keine Webseite, ich lese nur aus einer anderen mit dem Script in der Console. Also hab ichs dann dort.
Weiß nicht, wie mir VB da weiterhelfen kann - Chrome versteht kein VB-Script.

1
geri3d  11.06.2020, 19:23
@Hirnlos

Wusste ich nicht dass sich MS und Google soooooooo hassen, ich wünscht ich könnte das ändern aber VBScript ist schon ein bissi ....... Ohne Worte voller Dateizugriff und alles

0