Barcode in Javascript einbinden

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Barcode in Javascript einbinden

    Hallo,

    habe folgendes problem. Ich möchte meinen barcode gerne mit übergeben. Leider funktioniert es nicht. Es wäre net wenn mir jemand helfen könnte.


    Hier mal der code

    JavaScript Source Code

    1. <script type="text/javascript">
    2. var bild = new Image();
    3. var bildquelle = "libs/barcode/barcode.php?codetype=Code39&size=40&text={/literal}' + {$showMailing.mailingCode} + '{/literal}";
    4. var win=null;
    5. bild.src = bildquelle;
    6. function printContainer(Adresse, printContent){
    7. win = window.open(Adresse, "Zweitfenster", "width=1200,height=800,left=250,top=100");
    8. self.focus();
    9. win.document.open();
    10. win.document.write('<'+'html'+'><'+'head'+'><'+'style'+'>');
    11. win.document.write('body, td { font-family: Verdana; font-size: 12pt;} .tip-wrap {float: left; margin-left: 20px;} .clear {clear: both;}');
    12. win.document.write('<'+'/'+'style'+'><'+'/'+'head'+'><'+'body'+'>');
    13. win.document.write();
    14. win.document.write('<'+'p'+'>');
    15. win.document.write('<b>Details</b><br>');
    16. win.document.write({/literal}'<b>JobNumber:</b> {$showMailing.mailingJobnummer}<br>'{literal});
    17. win.document.write({/literal}'<b>MailingID:</b> {$showMailing.mailingID}<br>'{literal});
    18. win.document.write({/literal}'<b>Product:</b> {$showMailing.mailingProduct}<br>'{literal});
    19. win.document.write({/literal}'<b>Customer:</b> {$showMailing.mailingCustomer}<br>'{literal});
    20. win.document.write({/literal}'Bild <img src='+bild.src+'>'{literal});
    21. win.document.write('<'+'/'+'p'+'>');
    22. win.document.write('<'+'/'+'body'+'><'+'/'+'html'+'>');
    23. win.document.close();
    24. win.print();
    25. win.close();
    26. }
    27. </script>
    Display All
    Mit einen normalen bild geht es wenn man dies als Bildquelle eingibt. Aber ich benötige es so da sich der barcode stetig je nach id ändert. Ich würde mich sehr freuen wenn eine eine Lösung kennt.
    Riek-Media.com - Webhosting riek-media.com
  • Dragon25 wrote:

    var bildquelle = "libs/barcode/barcode.php?codetype=Code39&size=40&text={/literal}' + {$showMailing.mailingCode} + '{/literal}";
    Die Zeile soll dir vermutlich dein Bild generieren? Das kann sie aber nicht, da es so nur ein String ist.
    Lösung (als Beispiel, da gibts schönere Wege):

    JavaScript Source Code

    1. var bildquelle = "<?php include('libs/barcode/barcode.php?codetype=Code39&size=40&text=irgendeinWert'); ?>";
    unter der Bedingung, dass dir die Datei barcode.php nur den Dateinamen zurückliefert.

    Da ich vermute, dass {$showMailing.mailingCode} aus dem JS kommt, musst du dir einen Workaround einfallen lassen, da das Javascript noch nicht verfügbar ist, wenn das PHP gerendert wird.
    Möglichkeit 1: du kannst diese Variable mit PHP auslesen,
    Möglichkeit 2: einen Ajax-Aufruf bauen
  • freeek wrote:

    Die Zeile soll dir vermutlich dein Bild generieren? Das kann sie aber nicht, da es so nur ein String ist.
    Aber der String wird als src für das Image-Objekt gesetzt. Sollte schon so funktionieren: developer.mozilla.org/en-US/do…PI/HTMLImageElement/Image

    Was passiert denn, wenn du folgende Adresse direkt im Browser aufrufst? Kommt da das gewünschte Bild?

    Dragon25 wrote:

    "libs/barcode/barcode.php?codetype=Code39&size=40&text={/literal}' + {$showMailing.mailingCode} + '{/literal}"
  • freeek wrote:

    Dragon25 wrote:

    var bildquelle = "libs/barcode/barcode.php?codetype=Code39&size=40&text={/literal}' + {$showMailing.mailingCode} + '{/literal}";
    Die Zeile soll dir vermutlich dein Bild generieren? Das kann sie aber nicht, da es so nur ein String ist.Lösung (als Beispiel, da gibts schönere Wege):

    JavaScript Source Code

    1. var bildquelle = "<?php include('libs/barcode/barcode.php?codetype=Code39&size=40&text=irgendeinWert'); ?>";
    unter der Bedingung, dass dir die Datei barcode.php nur den Dateinamen zurückliefert.

    Da ich vermute, dass [code]{$showMailing.mailingCode}[/code] aus dem JS kommt, musst du dir einen Workaround einfallen lassen, da das Javascript noch nicht verfügbar ist, wenn das PHP gerendert wird.
    Möglichkeit 1: du kannst diese Variable mit PHP auslesen,
    Möglichkeit 2: einen Ajax-Aufruf bauen


    Hi

    die variable {$showMailing.mailingCode} ist eine smarty vari die eine id enthält wie z.b 123456789

    Ich arbeite mit Smarty um php von html sauber zu trennen
    Riek-Media.com - Webhosting riek-media.com
  • Ich verstehe nicht so ganz was du mir damit sagen willst. Die url muss so aufgerufen werden da dadurch ein Barcode generiert wird der dann angezeigt werden soll. Öffne ich das ganze im browser als url habe ich einen barcode. Öffne ich es im Javascript wird mir kein barcode angezeigt. Dieser wird dort aber benötigt, da die Id sich bei jedem Eintrag ändert. Ich habe das ganze auch mit einem QR Code versucht und dieses vorher auf dem Server als png speichern lassen. Aber auch das war dann ohne erfolg.

    Beispiel mit dem Barcode vorher auf dem Server speichern:

    <img src='pfad/zum/logo.png'> --> funktioniert

    <img src='pfad/zum/qrcode.png'> --> funktioniert nicht

    Es wäre nett wenn du mal ein Beispiel hast
    Riek-Media.com - Webhosting riek-media.com
  • Wie viele Barcodes pro Seite willst du denn einbinden? Evtl. bietet sich ein Caching System auf Serverseite an - und im Frontend eine Ajax Anfrage an deinen Server, der dann a) erst deinen Barcode Cache aufruft und ausgibt, wenn es was gibt. Und b) wenn es nichts gibt, dein Bild vom externen Skript ausgibt. (per Base64 oder vom eigenen Filesystem)