Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
window.print() reagiert nicht
#1
Hallo zusammen,

ich finde den Fehler nicht. In einem Popup habe ich ein Button hinterlegt und soll mir bei einem click das Druckmenü öffnen. Tut aber nix und ich weiss nicht warum.

Code:
const sendMessageId = document.getElementById("Button_click");
let test;

if (sendMessageId) {
    sendMessageId.onclick = function() {
window.print();

  };
};
wenn ich allerdings das window.print() durch alert("test"); ersetze , läuft es-
Woran kann es liegen?
Zitieren
#2
Welche Bedeutung soll denn die Variable test haben?
windows.print () öffnet das Druckdialogfeld für das aktuelle Fenster und gibt keine Variable aus.

Was möchtest du denn erreichen? Eine Ausgabe eine Variable test könntest du z.B. mit
document.write (test); vornehmen...
Zitieren
#3
die Variable hat damit jetzt nichts zu tun, sie wird später im Script verwendet.
Mich wundert es nur, dass das Druckdialog nicht öffnet.

Muss ein Popup für das drucken vorbereitet werden?
Zitieren
#4
Vielleicht mit popup.print() ?

Code:
const sendMessageId = document.getElementById("Button_click");
if (sendMessageId) {
  sendMessageId.onclick = function() {
    const popup = window.open("https://www.example.com", "popup", "width=400,height=300");
    popup.onload = function() {
      popup.print();
    };
  };
};
Zitieren
#5
Die aktuelle Seite existiert bereits und in dem Popup wird angezeigt was ausgedruckt werden soll. Nur das klappt nicht

[Bild: 20230224175704d2b5ca33bd970f64a6301fa75ae2eb22.png]
nochmal mit Bild
Zitieren
#6
Ohne mehr vom Code zu sehen kann ich leider nichts weiter dazu sagen  Huh
Zitieren
#7
sry, in einer normalen HTML funktioniert dein und mein Code. Liegt wohl mit daran das es im Popup nicht funktioniert. Hätte ich nicht gedacht.
kann man das Thema bitte verschieben in 
Hilfe bei Add-ons programmieren


danke
Zitieren
#8
(25.02.2023, 12:12)Oly schrieb: sry, in einer normalen HTML funktioniert dein und mein Code. Liegt wohl mit daran das es im Popup nicht funktioniert. Hätte ich nicht gedacht.
kann man das Thema bitte verschieben in 
Hilfe bei Add-ons programmieren


danke

Ist verschoben
"Gerne dürft ihr mir eine gute Bewertung da lassen aber auch gegenüber Kritik bin ich offen" Angel
Zitieren
#9
Danke

Hoffe das hier jemand eine Idee hat. Ich vermute Mal dass das Pop-up das nicht zulässt. Genau so wie das Inline Scripting
Zitieren
#10
Ich bin mir nicht sicher, ob das Verschieben deines Problems in dieses Thema zielführend ist. Wozu ein Add-on? Ich denke schon, dass der Inhalt eines popup gedruckt werden kann, wenn eine Variable z.B "popup" (siehe #4) eine Referenz auf das geöffnete Fenster enthält. 
Ob das simple window.print() im popup funktioniert habe ich noch nicht probiert. 

Ich habe das Beispiel aus #4 noch einmal anders geschrieben, und die Funktion in eine HTML-Datei gelegt. 
1. Button öffnet das popup, 2. Button dann die Druckerauswahl.
Bei drucken verwende ich aber variable.print() und nicht window.print()
... also bei mir funktionierts ....


Code:
<!DOCTYPE html>
<html>
  <head>
    <title>Pop-up-Druckbeispiel</title>
    <meta charset="utf-8">
  </head>
  <body>
    <button id="openPopup">Popup öffnen</button>

    <script>
      function openPopup() {
        const popup = window.open("", "popup", "width=400,height=300");
        popup.document.write(`
          <h1>Hallo, dies ist ein Beispieltext im Pop-up-Fenster</h1>
          <button id="printContent">Inhalt drucken</button>
        `);

        // Ereignishandler für den "Inhalt drucken"-Button
        popup.document.getElementById("printContent").addEventListener("click", function() {
          popup.print();
        });
      }

      // Button-Klick-Ereignishandler für "Popup öffnen"
      document.getElementById("openPopup").addEventListener("click", openPopup);
    </script>
  </body>
</html>
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste