Widget:NVK-Text-Test: Unterschied zwischen den Versionen
Aus Altes Köln
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<div id="widget-container"> | <div id="widget-container"> | ||
<p id="output-text">Lade Daten...</p> | <p id="output-text">Lade Daten...</p> | ||
</div> | </div> | ||
<script> | <script> | ||
const | (function () { | ||
const url = 'https://nvk.genealogy.net/karte/YYY'; // Ziel-URL | |||
const textContainer = document.getElementById('output-text'); | |||
fetch(url, { | |||
method: 'GET', | |||
headers: { | |||
'Accept': 'text/html', | |||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' | |||
textContainer.textContent = | } | ||
}) | |||
.then(response => { | |||
if (!response.ok) { | |||
console.warn(`Warnung: Serverstatus ist ${response.status}`); | |||
}; | } | ||
// Direkt den Body-Stream lesen, um Text frühzeitig zu extrahieren | |||
const reader = response.body.getReader(); | |||
const decoder = new TextDecoder('utf-8'); | |||
let result = ''; | |||
return reader.read().then(function process({ done, value }) { | |||
if (done) { | |||
return result; // Gesamten Text zurückgeben | |||
} | |||
result += decoder.decode(value, { stream: true }); // Dekodieren des Streams | |||
return reader.read().then(process); // Nächsten Chunk lesen | |||
}); | |||
}) | |||
.then(data => { | |||
// Zeige den extrahierten Text an | |||
textContainer.textContent = data.trim(); | |||
}) | |||
.catch(error => { | |||
console.error('Fehler beim Abruf der Daten:', error); | |||
textContainer.textContent = 'Abruf fehlgeschlagen: Der Server konnte nicht vollständig erreicht werden.'; | |||
}); | |||
})(); | |||
</script> | </script> |
Aktuelle Version vom 25. Januar 2025, 17:15 Uhr
Lade Daten...
<script>
(function () { const url = 'https://nvk.genealogy.net/karte/YYY'; // Ziel-URL const textContainer = document.getElementById('output-text');
fetch(url, { method: 'GET', headers: { 'Accept': 'text/html', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } }) .then(response => { if (!response.ok) { console.warn(`Warnung: Serverstatus ist ${response.status}`); } // Direkt den Body-Stream lesen, um Text frühzeitig zu extrahieren const reader = response.body.getReader(); const decoder = new TextDecoder('utf-8'); let result = ;
return reader.read().then(function process({ done, value }) { if (done) { return result; // Gesamten Text zurückgeben } result += decoder.decode(value, { stream: true }); // Dekodieren des Streams return reader.read().then(process); // Nächsten Chunk lesen }); }) .then(data => { // Zeige den extrahierten Text an textContainer.textContent = data.trim(); }) .catch(error => { console.error('Fehler beim Abruf der Daten:', error); textContainer.textContent = 'Abruf fehlgeschlagen: Der Server konnte nicht vollständig erreicht werden.'; }); })();
</script>