Altes Köln

Widget:GOV-Test: Unterschied zwischen den Versionen

Aus Altes Köln
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 4: Zeile 4:


<script>
<script>
    // Festgelegter Servername
     const serverBaseURL = "https://gov.genealogy.net";
     const serverBaseURL = "https://gov.genealogy.net";
     fetch('https://gov.genealogy.net/item/wikihtml/SCHERGJO54EJ')
     fetch('https://gov.genealogy.net/item/wikihtml/SCHERGJO54EJ')
        .then(response => response.text())
        .then(response => response.text())
         .then(html => {
         .then(html => {
            // Temporäres DOM-Element erstellen, um den HTML-Fragmentinhalt zu manipulieren
             const tempDiv = document.createElement('div');
             const tempDiv = document.createElement('div');
             tempDiv.innerHTML = html;
             tempDiv.innerHTML = html;


             // Anpassung relativer URLs
             // Alle Links (`<a>`-Tags) anpassen
             const links = tempDiv.querySelectorAll('a[href^="/"]');
             const links = tempDiv.querySelectorAll('a[href^="/"]'); // Selektiert Links mit relativen Pfaden
             links.forEach(link => {
             links.forEach(link => {
                 link.href = serverBaseURL + link.getAttribute('href');
                 link.href = serverBaseURL + link.getAttribute('href');
             });
             });
             const images = tempDiv.querySelectorAll('img[src^="/"]');
 
            // Alle Bilder (`<img>`-Tags) anpassen
             const images = tempDiv.querySelectorAll('img[src^="/"]'); // Selektiert Bilder mit relativen Pfaden
             images.forEach(img => {
             images.forEach(img => {
                 img.src = serverBaseURL + img.getAttribute('src');
                 img.src = serverBaseURL + img.getAttribute('src');
             });
             });


             // Grafik ersetzen und Zoom-Wrapper hinzufügen
             // Manipulierten Inhalt in die Seite einfügen
             const zoomImage = tempDiv.querySelector('td a[href*="relationshipGraph"] img');
            document.getElementById('content').innerHTML = tempDiv.innerHTML;
             if (zoomImage) {
 
            // iViewer-Lösung für bestimmte Bilder implementieren
             const relationshipImage = tempDiv.querySelector('a[href*="relationshipGraph"] img');
             if (relationshipImage) {
                // Wrapper für iViewer erstellen
                 const wrapper = document.createElement('div');
                 const wrapper = document.createElement('div');
                 wrapper.className = 'zoomable';
                wrapper.id = 'viewer'; // iViewer erwartet eine ID oder Klasse
                 zoomImage.parentElement.replaceWith(wrapper);
                 wrapper.className = 'viewer';
                 wrapper.appendChild(zoomImage);
                  
                // Bild aus dem `<a>`-Tag entfernen und in den Wrapper einfügen
                relationshipImage.parentNode.replaceWith(wrapper);
                 wrapper.appendChild(relationshipImage);


                 // Initiales Zoom-Level setzen
                 // iViewer initialisieren
                 zoomImage.dataset.scale = 1;
                 $('#viewer').iviewer({
                    src: relationshipImage.src,
                    zoom: 'fit',
                    zoom_base: 100,
                    zoom_max: 800,
                    zoom_min: 25,
                    ui_disabled: false,
                });
             }
             }


             document.getElementById('content').innerHTML = tempDiv.innerHTML;
             // Beispiel für Styling
            const table = document.querySelector('#content table');
            if (table) {
                table.style.width = '100%';
                table.style.fontFamily = 'Arial, sans-serif';
            }
         })
         })
         .catch(error => console.error('Error loading content:', error));
         .catch(error => console.error('Error loading content:', error));
</script>


    // Zoom mit STRG + Mausrad
<!-- iViewer Styles und Skripte -->
    document.addEventListener('wheel', (event) => {
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/iviewer/0.7.11/jquery.iviewer.min.css">
        if (event.ctrlKey) {
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
            const zoomable = document.querySelector('.zoomable img:hover');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"></script>
            if (zoomable) {
<script src="https://cdnjs.cloudflare.com/ajax/libs/iviewer/0.7.11/jquery.iviewer.min.js"></script>
                const scale = parseFloat(zoomable.dataset.scale || 1);
                const newScale = event.deltaY < 0 ? scale * 1.1 : scale / 1.1;
                zoomable.style.transform = `scale(${newScale})`;
                zoomable.dataset.scale = newScale;
                event.preventDefault(); // Standardverhalten verhindern
            }
        }
    });
</script>


<style>
<style>
     /* Zoomable Styles */
     /* Styling für den Viewer */
     .zoomable {
     .viewer {
        width: 100%;
        height: 500px;
         position: relative;
         position: relative;
         display: inline-block;
         margin: auto;
        overflow: hidden;
         border: 1px solid #ccc;
        max-width: 100%;
        cursor: grab;
    }
 
    .zoomable img {
        transition: transform 0.3s ease;
        width: 100%;
        height: auto;
    }
 
    .zoomable img:hover {
         cursor: zoom-in;
     }
     }
</style>
</style>


<h1>Variante: Einfacher iframe mit <!--{$CallType|escape:'url'}--></h1>
<h1>Variante: Einfacher iframe mit <!--{$CallType|escape:'url'}--></h1>

Version vom 19. Januar 2025, 22:42 Uhr

Ajax-Variante mit wiki

<script>

   // Festgelegter Servername
   const serverBaseURL = "https://gov.genealogy.net";
   fetch('https://gov.genealogy.net/item/wikihtml/SCHERGJO54EJ')
       .then(response => response.text())
       .then(html => {
           // Temporäres DOM-Element erstellen, um den HTML-Fragmentinhalt zu manipulieren
           const tempDiv = document.createElement('div');
           tempDiv.innerHTML = html;
           // Alle Links (`<a>`-Tags) anpassen
           const links = tempDiv.querySelectorAll('a[href^="/"]'); // Selektiert Links mit relativen Pfaden
           links.forEach(link => {
               link.href = serverBaseURL + link.getAttribute('href');
           });
           // Alle Bilder (`<img>`-Tags) anpassen
           const images = tempDiv.querySelectorAll('img[src^="/"]'); // Selektiert Bilder mit relativen Pfaden
           images.forEach(img => {
               img.src = serverBaseURL + img.getAttribute('src');
           });
           // Manipulierten Inhalt in die Seite einfügen
           document.getElementById('content').innerHTML = tempDiv.innerHTML;
           // iViewer-Lösung für bestimmte Bilder implementieren
           const relationshipImage = tempDiv.querySelector('a[href*="relationshipGraph"] img');
           if (relationshipImage) {
               // Wrapper für iViewer erstellen
               const wrapper = document.createElement('div');
               wrapper.id = 'viewer'; // iViewer erwartet eine ID oder Klasse
               wrapper.className = 'viewer';
               
               // Bild aus dem `<a>`-Tag entfernen und in den Wrapper einfügen
               relationshipImage.parentNode.replaceWith(wrapper);
               wrapper.appendChild(relationshipImage);
               // iViewer initialisieren
               $('#viewer').iviewer({
                   src: relationshipImage.src,
                   zoom: 'fit',
                   zoom_base: 100,
                   zoom_max: 800,
                   zoom_min: 25,
                   ui_disabled: false,
               });
           }
           // Beispiel für Styling
           const table = document.querySelector('#content table');
           if (table) {
               table.style.width = '100%';
               table.style.fontFamily = 'Arial, sans-serif';
           }
       })
       .catch(error => console.error('Error loading content:', error));

</script>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/iviewer/0.7.11/jquery.iviewer.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/iviewer/0.7.11/jquery.iviewer.min.js"></script>

<style>

   /* Styling für den Viewer */
   .viewer {
       width: 100%;
       height: 500px;
       position: relative;
       margin: auto;
       border: 1px solid #ccc;
   }

</style>

Variante: Einfacher iframe mit

 

Variante: responsiv mit

<style>

   body {
     margin: 0;
     padding: 0;
     font-family: Arial, sans-serif;
   }
   .iframe-container {
     width: 100%; /* Container hat immer die volle Breite des Viewports */
     position: relative; /* Wichtig für absolute Positionierung */
     padding-top: 56.25%; /* Seitenverhältnis 16:9 */
  
   }
   iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100vw; /* Breite des Viewports */
     height: calc(100vw * 0.5625); /* Höhe proportional zur Breite (16:9) */
     transform-origin: top left; /* Skalierung startet oben links */
   }
   /* Media Queries für kleinere Bildschirme */
   @media (max-width: 768px) {
     iframe {
       transform: scale(0.9); /* Skaliere den iframe-Inhalt */
     }
   }
   @media (max-width: 480px) {
     iframe {
       transform: scale(0.8); /* Weitere Skalierung für kleine Geräte */
     }
   }
 </style>
 





Cookies helfen uns bei der Bereitstellung von Altes Köln. Durch die Nutzung von Altes Köln erklärst du dich damit einverstanden, dass wir Cookies speichern.