Widget:GOV-Test: Unterschied zwischen den Versionen
Aus Altes Köln
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 81: | Zeile 81: | ||
content.innerHTML = html; | content.innerHTML = html; | ||
// | // 1) Ersetze width und height in <object> auf 400 | ||
const | const objects = content.querySelectorAll('object[data^="https://www.genealogy.net/viewer-js/"]'); | ||
objects.forEach(obj => { | |||
obj.setAttribute('width', '400'); | |||
obj.setAttribute('height', '400'); | |||
}); | }); | ||
const | // 2) Passe <img> im <a>-Tag an, um ?full-size=1 hinzuzufügen | ||
const imageLinks = content.querySelectorAll('a[href*="relationshipGraph"]'); | |||
img. | imageLinks.forEach(link => { | ||
const img = link.querySelector('img'); | |||
if (img) { | |||
const originalSrc = img.getAttribute('src'); | |||
img.setAttribute('src', originalSrc + "?full-size=1"); | |||
} | |||
}); | }); | ||
// Stile und Inhalte in das Shadow DOM einfügen | // Stile und Inhalte in das Shadow DOM einfügen |
Version vom 22. Januar 2025, 15:53 Uhr
<script>
(function () { const fetchURL = "https://gov.genealogy.net/item/wikihtml/"; const baseURL = "https://gov.genealogy.net";
fetch(fetchURL) .then(response => { if (!response.ok) { throw new Error(`HTTP-Fehler! Status: ${response.status}`); } return response.text(); }) .then(html => { const widgetContainer = document.getElementById('widget-container');
// Shadow DOM erstellen const shadow = widgetContainer.attachShadow({ mode: 'open' });
// Stile für das Widget im Shadow DOM hinzufügen const style = document.createElement('style'); style.textContent = ` :host { all: initial; display: block; max-width: 1200px; margin: 20px auto; padding: 0; border: none; background-color: #fff; overflow: auto; font-family: Arial, sans-serif; font-size: 16px; } table { width: 100%; table-layout: auto; border-collapse: collapse; margin: 10px 0; border: 1px solid #ccc; } th, td { border: 1px solid #ddd; padding: 10px; text-align: left; word-wrap: break-word; } th { background-color: #f2f2f2; } td:first-child { width: 1%; white-space: nowrap; } ul { padding-left: 20px; margin: 10px 0; } object { max-width: 100%; height: auto; display: block; margin: 0; } .map-container { text-align: left; } a { color: #007BFF; text-decoration: none; } a:hover { text-decoration: underline; } `;
// Geladenen HTML-Inhalt einfügen const content = document.createElement('div'); content.innerHTML = html;
// 1) Ersetze width und height in <object> auf 400 const objects = content.querySelectorAll('object[data^="https://www.genealogy.net/viewer-js/"]'); objects.forEach(obj => { obj.setAttribute('width', '400'); obj.setAttribute('height', '400'); });
// 2) Passe <img> im <a>-Tag an, um ?full-size=1 hinzuzufügen const imageLinks = content.querySelectorAll('a[href*="relationshipGraph"]'); imageLinks.forEach(link => { const img = link.querySelector('img'); if (img) { const originalSrc = img.getAttribute('src'); img.setAttribute('src', originalSrc + "?full-size=1"); } });
// Stile und Inhalte in das Shadow DOM einfügen shadow.appendChild(style); shadow.appendChild(content); }) .catch(error => { console.error('Fehler beim Laden:', error); const widgetContainer = document.getElementById('widget-container'); widgetContainer.textContent = "Fehler: Inhalte konnten nicht geladen werden."; }); })();
</script>