Widget:NVK-Text-Test: Unterschied zwischen den Versionen
Aus Altes Köln
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (2 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', | |||
textContainer.textContent = | '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> | </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>
