mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 02:48 Benutzername: Passwort: Auto-Login

Thema: Javascript: DIV geclont, Inhalt fehlt - Hilfe benötigt vom 19.08.2020


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Javascript: DIV geclont, Inhalt fehlt - Hilfe benötigt
Autor Nachricht
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Mi 19.08.2020 22:44
Titel

Javascript: DIV geclont, Inhalt fehlt - Hilfe benötigt

Antworten mit Zitat Zum Seitenanfang

Der folgende JS-Code ist nicht für eine Webseite bestimmt, sondern soll in einem sog. "Webviewer", einem GUI-Element der Datenbank-Umgebung Filemaker Pro laufen. Ziel ist das Drucken von 2 gleichen QR-Codes (ca. 15x15mm) nebeneinander mit Abstand auf einem Label von 30x60mm.

Allerdings muss gleichzeitig eine "Macke" bzw. Bug von Filemaker Pro (V.16) ausgeglichen werden. FM hat die blöde Angewohnheit, bei einem Druckbefehl den Inhalt des Webviewers unmittelbar vorher nochmal zu refreshen. Dabei ist das Timing extrem knapp. Dauert der Aufbau zu lange, erhält man ein leeres Etikett.

Ohne dieses Problem wäre es selbstverständlich am Einfachsten, den Code einfach zwei mal auszuführen, mit zwei verschiedenen DIVs, das ist mir schon klar. Allerdings schlägt hier die Timing-Falle zu. Mit nur einem QR-Code klappt das Drucken nämlich, mit zweien nicht. Also dachte ich, ich berechne den QR-Code eben nur einmal und dupliziere dann das DIV. Leider wird dabei aber der QR-Code nicht mitgenommen ...

Bestimmt ist hier jemand, der da evtl. eine Lösung weiss, bitte mal drübersehen. Der Code für die Erstellung des QR-Codes (im Beitrag hier gekürzt) ist nicht von mir und so ganz bis zum Schluss verstehe ich ihn auch nicht. Das vollständige Codebeispiel liegt unter: Sourcecode

Alternativ kann ich natürlich auch zwei DIVs mit unterschiedlichen IDs platzieren, aber ich muss unbedingt vermeiden, den QRCode 2x zu brechnen. Wie bekomme ich den von DIV1 zu DIV2? Tests mit "innerHTML" brachten auch keinen Effekt, es kam nur der Content-Text mit *Schnief*

Das vollständige Codebeispiel liegt unter: https://www.qualidat.com/material/qrtest.zip

Danke für Tips.

Code:


<html>
    <head>
        <script>
          var QRCode;!function(){function a(a){this.mode= ... ; //<= Code gekürzt
        </script>
        <style>
            img
            {
                width:50px;
                margin: 1px;
                padding: 0px;
                margin-left: auto;
                margin-right: auto;
                display: block;}
           
            div
            {
                float: left;
                border-style:solid;
                border-color: #aaa;
                border-width: 3px;
                width: 60px;
                height: 70px;
                margin: 5px;
                padding: 0px;
                text-align: center;
                font-size: 8pt;
                font-family: sans-serif;
            }
           
            body
            {
                margin: 0px;
                padding: 0px;
                overflow: hidden;
            }
        </style>
    </head>
    <body>
   
        <script>var content = '123456';</script>
   
        <div id='div'><script>document.write(content)</script></div>

        <script>
            div = document.getElementById('div')

            qrc = new QRCode(div,{width:100,height:100});
           //Objekt qrc erstellen mit Construktor, DIV und Höhe/Breite des QRCodes in Pixeln als Argument

            qrc.makeCode(content);
           //Methode makeCode aufrufen, Content als Argument. Hierbei entsteht ein Canvas mit dem QRCode im DIV ...

            copy = div.cloneNode(true);
            document.body.appendChild(copy);
            // das Clonen klappt, aber es ist kein Canvas drin :-(

        </script>
       
    </body>
</html>


Zuletzt bearbeitet von qualidat am Mi 19.08.2020 22:45, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
JonathanB

Dabei seit: 18.04.2017
Ort: Berlin
Alter: -
Geschlecht: Männlich
Verfasst Do 20.08.2020 11:13
Titel

Antworten mit Zitat Zum Seitenanfang

Die Canvas wird evtl. schon mitgeclont aber deren Inhalt vermutlich einfach nicht.
Der Canvas-Inhalt wird ja nicht Teil des DOM sein.

So wie es hier aussicht, musst du wohl noch den Inhalt der einen canvas auf die neue übertragen:
https://stackoverflow.com/questions/3318565/any-way-to-clone-html5-canvas-element-with-its-content
  View user's profile Private Nachricht senden
Anzeige
Anzeige
 
Ähnliche Themen Anfänger benötigt Hilfe - JavaScript Text ausfahren
Reload von DIV-Inhalt mit JavaScript?
[JavaScript] Fenstergröße dem Inhalt anpassen
[javascript] div inhalt ändern - auf die andere art
Anzeige von Inhalt nur bei aktiviertem Javascript
[javascript] variablen mit mehrzeiligem inhalt
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.