<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://playground-mw.bitplan.com/index.php?action=history&amp;feed=atom&amp;title=Widget%3AGOV-Test</id>
	<title>Widget:GOV-Test - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="http://playground-mw.bitplan.com/index.php?action=history&amp;feed=atom&amp;title=Widget%3AGOV-Test"/>
	<link rel="alternate" type="text/html" href="http://playground-mw.bitplan.com/Thanatos/index.php?title=Widget:GOV-Test&amp;action=history"/>
	<updated>2026-04-07T09:57:48Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in wiki</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>http://playground-mw.bitplan.com/Thanatos/index.php?title=Widget:GOV-Test&amp;diff=51&amp;oldid=prev</id>
		<title>Sysop: pushed from akoeln by wikipush</title>
		<link rel="alternate" type="text/html" href="http://playground-mw.bitplan.com/Thanatos/index.php?title=Widget:GOV-Test&amp;diff=51&amp;oldid=prev"/>
		<updated>2025-02-18T09:57:12Z</updated>

		<summary type="html">&lt;p&gt;pushed from akoeln by wikipush&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!--Test-Widget von Christopher zum Austesten des GOV-Aufrufes (eigentlich für das GenWiki)--&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;widget-container&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
    (function () {&lt;br /&gt;
        const fetchURL = &amp;quot;https://gov.genealogy.net/item/wikihtml/&amp;lt;!--{$GOVID|escape:&amp;#039;url&amp;#039;}--&amp;gt;&amp;quot;;&lt;br /&gt;
        const baseURL = &amp;quot;https://gov.genealogy.net&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        fetch(fetchURL)&lt;br /&gt;
            .then(response =&amp;gt; {&lt;br /&gt;
                if (!response.ok) {&lt;br /&gt;
                    throw new Error(`HTTP-Fehler! Status: ${response.status}`);&lt;br /&gt;
                }&lt;br /&gt;
                return response.text();&lt;br /&gt;
            })&lt;br /&gt;
            .then(html =&amp;gt; {&lt;br /&gt;
                const widgetContainer = document.getElementById(&amp;#039;widget-container&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
                // Shadow DOM erstellen&lt;br /&gt;
                const shadow = widgetContainer.attachShadow({ mode: &amp;#039;open&amp;#039; });&lt;br /&gt;
&lt;br /&gt;
                // Stile für das Widget im Shadow DOM hinzufügen&lt;br /&gt;
                const style = document.createElement(&amp;#039;style&amp;#039;);&lt;br /&gt;
                style.textContent = `&lt;br /&gt;
                    :host {&lt;br /&gt;
                        all: initial;&lt;br /&gt;
                        display: block;&lt;br /&gt;
                        max-width: 1200px;&lt;br /&gt;
                        margin: 20px auto;&lt;br /&gt;
                        padding: 0;&lt;br /&gt;
                        border: none;&lt;br /&gt;
                        background-color: #fff;&lt;br /&gt;
                        overflow: auto;&lt;br /&gt;
                        font-family: Arial, sans-serif;&lt;br /&gt;
                        font-size: 16px;&lt;br /&gt;
                    }&lt;br /&gt;
                    table {&lt;br /&gt;
                        width: 100%;&lt;br /&gt;
                        table-layout: auto;&lt;br /&gt;
                        border-collapse: collapse;&lt;br /&gt;
                        margin: 10px 0;&lt;br /&gt;
                        border: 1px solid #ccc;&lt;br /&gt;
                    }&lt;br /&gt;
                    th, td {&lt;br /&gt;
                        border: 1px solid #ddd;&lt;br /&gt;
                        padding: 10px;&lt;br /&gt;
                        text-align: left;&lt;br /&gt;
                        word-wrap: break-word;&lt;br /&gt;
                    }&lt;br /&gt;
                    th {&lt;br /&gt;
                        background-color: #f2f2f2;&lt;br /&gt;
                    }&lt;br /&gt;
                    td:first-child {&lt;br /&gt;
                        width: 1%;&lt;br /&gt;
                        white-space: nowrap;&lt;br /&gt;
                    }&lt;br /&gt;
                    ul {&lt;br /&gt;
                        padding-left: 20px;&lt;br /&gt;
                        margin: 10px 0;&lt;br /&gt;
                    }&lt;br /&gt;
                    object {&lt;br /&gt;
                        max-width: 100%;&lt;br /&gt;
                        height: 400px; /* Feste Höhe */&lt;br /&gt;
                        display: block;&lt;br /&gt;
                        margin: 0;&lt;br /&gt;
                    }&lt;br /&gt;
                    .map-container {&lt;br /&gt;
                        text-align: left;&lt;br /&gt;
                    }&lt;br /&gt;
                    a {&lt;br /&gt;
                        color: #007BFF;&lt;br /&gt;
                        text-decoration: none;&lt;br /&gt;
                    }&lt;br /&gt;
                    a:hover {&lt;br /&gt;
                        text-decoration: underline;&lt;br /&gt;
                    }&lt;br /&gt;
                `;&lt;br /&gt;
&lt;br /&gt;
                // Geladenen HTML-Inhalt einfügen&lt;br /&gt;
                const content = document.createElement(&amp;#039;div&amp;#039;);&lt;br /&gt;
                content.innerHTML = html;&lt;br /&gt;
&lt;br /&gt;
                // 1) Passe width und height in &amp;lt;object&amp;gt; an&lt;br /&gt;
                const objects = content.querySelectorAll(&amp;#039;object[data^=&amp;quot;https://www.genealogy.net/viewer-js/&amp;quot;]&amp;#039;);&lt;br /&gt;
                objects.forEach(obj =&amp;gt; {&lt;br /&gt;
                    obj.setAttribute(&amp;#039;width&amp;#039;, &amp;#039;400&amp;#039;); // Setze Breite auf 400&lt;br /&gt;
                    obj.setAttribute(&amp;#039;height&amp;#039;, &amp;#039;400&amp;#039;); // Setze Höhe auf 400&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 2) Passe &amp;lt;a&amp;gt; und &amp;lt;img&amp;gt; für den relationshipGraph an&lt;br /&gt;
                const imageLinks = content.querySelectorAll(&amp;#039;a[href*=&amp;quot;relationshipGraph&amp;quot;]&amp;#039;);&lt;br /&gt;
                imageLinks.forEach(link =&amp;gt; {&lt;br /&gt;
                    // Passe das &amp;lt;a&amp;gt;-Tag an die Base-URL an&lt;br /&gt;
                    const originalHref = link.getAttribute(&amp;#039;href&amp;#039;);&lt;br /&gt;
                    link.setAttribute(&amp;#039;href&amp;#039;, baseURL + originalHref);&lt;br /&gt;
&lt;br /&gt;
                    // Passe das &amp;lt;img&amp;gt;-Tag im &amp;lt;a&amp;gt;-Tag an&lt;br /&gt;
                    const img = link.querySelector(&amp;#039;img&amp;#039;);&lt;br /&gt;
                    if (img) {&lt;br /&gt;
                        const originalSrc = img.getAttribute(&amp;#039;src&amp;#039;);&lt;br /&gt;
                        img.setAttribute(&amp;#039;src&amp;#039;, baseURL + originalSrc + &amp;quot;?full-size=1&amp;quot;); // Absoluten Pfad setzen&lt;br /&gt;
                        img.setAttribute(&amp;#039;width&amp;#039;, &amp;#039;80%&amp;#039;); // Breite auf 80% setzen&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 3) Füge Base-URL zu allen relativen &amp;lt;a&amp;gt; hinzu&lt;br /&gt;
                const allLinks = content.querySelectorAll(&amp;#039;a[href^=&amp;quot;/&amp;quot;]&amp;#039;);&lt;br /&gt;
                allLinks.forEach(link =&amp;gt; {&lt;br /&gt;
                    const originalHref = link.getAttribute(&amp;#039;href&amp;#039;);&lt;br /&gt;
                    link.setAttribute(&amp;#039;href&amp;#039;, baseURL + originalHref);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 4) Füge Base-URL zu allen relativen &amp;lt;img&amp;gt; hinzu&lt;br /&gt;
                const allImages = content.querySelectorAll(&amp;#039;img[src^=&amp;quot;/&amp;quot;]&amp;#039;);&lt;br /&gt;
                allImages.forEach(img =&amp;gt; {&lt;br /&gt;
                    const originalSrc = img.getAttribute(&amp;#039;src&amp;#039;);&lt;br /&gt;
                    img.setAttribute(&amp;#039;src&amp;#039;, baseURL + originalSrc);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // Stile und Inhalte in das Shadow DOM einfügen&lt;br /&gt;
                shadow.appendChild(style);&lt;br /&gt;
                shadow.appendChild(content);&lt;br /&gt;
            })&lt;br /&gt;
            .catch(error =&amp;gt; {&lt;br /&gt;
                console.error(&amp;#039;Fehler beim Laden:&amp;#039;, error);&lt;br /&gt;
                const widgetContainer = document.getElementById(&amp;#039;widget-container&amp;#039;);&lt;br /&gt;
                widgetContainer.textContent = &amp;quot;Fehler: Inhalte konnten nicht geladen werden.&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
    })();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sysop</name></author>
	</entry>
</feed>