• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage h1 Text anpassen oder 1xRefresh?

colaholiker

Mitglied
Hallo wieder,

Ich baue weiterhin an meinem Projekt, eine Webseite für ein SD-Karten Directory zu erstellen.

Der aktuelle Pfad soll in <h1> angezeigt werden.
Nach dem Start steht dort: "Directory: SD". Darunter kommt die Tabelle mit dem Inhalt der Hauptebene.

Beim Wechsel in einen Ordner wird <h1> zwar neu mit aktuellem Pfad zur Webseite gesendet, aber nicht aktualisiert.
Und das, obwohl ja für den Inhalt des Ordners eine neue Tabelle angezeigt wird ( <h1> und Tabelle: steht alles in <body></body>)!

Beim aktualisieren der Seite mit dem Browser-Button und auch mit eingefügtem
Code:
<a href='javascript:location.reload()'>Reload</a>
wird dann <h1> richtig angezeigt.

- Wie könnte ich das automatisieren? Einmaliger Refresh oder was mit Ajax?

Dazu müßten die Variablen oldDir und actDir gebildet werden um nur bei Veränderung zu reagieren?

Im Quelltext finde ich in <h1> nur das gerade angezeigte Directory (würde zu oldDir).
Wie komme ich an das neue (z.B.) <h1>Directory: SD/b-Daten</h1> vor dem Refresh?

Oder gibt es bessere Methoden?
-vielen Dank-
 

Sclero2004

Mitglied
Guten Morgen,
nachdem wir das mit dem Austauschen der Tabelle hin bekommen haben, sollte das Ersetzen des Textes in der Überschrift kein Problem mehr sein:
Code:
            function sendtoMC(action, fileName) {
                const params = new FormData();
                params.append('0', 'delete_' + fileName);
                fetch('dir?', {
                    method: 'post',
                    body: params
                })
                    .then(response => response.text()).then(txt => {
                        console.log('============ myText: ' + txt);
                        document.getElementById('feedback-from-server').innerHTML = txt;
                        fetch('dir?').then(response => response.text()).then(txt => {
                            const
                                parser = new DOMParser(),
                                docLoaded = parser.parseFromString(txt, 'text/html');
                            console.log('============ mydocLoaded: ' + docLoaded);
                            const
                                tblCurrent = document.querySelector('table'),
                                tblLoaded = docLoaded.querySelector('table');
                            tblCurrent.replaceWith(tblLoaded);
                            const
                                h1Current = document.querySelector('h1'),
                                h1Loaded = docLoaded.querySelector('h1');
                            h1Current.textContent = h1Loaded.textContent;
                        });
                    });
                document.getElementById('dialog').close();
            }
(Ungetestet)
Wäre ja schade wenn wir nach der ganzen Mühe mit der Tabelle nun doch neu laden würden.
 

colaholiker

Mitglied
Hallo Sclero2004,
die bewußten 4 Zeilen haben das Problem gelöst, vielen Dank!

Ich bin weiter mit den Buttons beschäftigt. In der Tabelle sind Download und Rename übrig, und dann die in der <ul> Leiste.
Von denen sind ja einige "Links". Die versuche ich auch durch Buttons zu ersetzen...
 
Oben