This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

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.

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...
Als Lösung markieren 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?
Als Lösung markieren Zitieren
#4
Vielleicht mit popup.print() ?

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();
    };
  };
};
Als Lösung markieren 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
Als Lösung markieren Zitieren
#6
Ohne mehr vom Code zu sehen kann ich leider nichts weiter dazu sagen  Huh
Als Lösung markieren 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
Als Lösung markieren 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
Als Lösung markieren 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
Als Lösung markieren 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 ....


<!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>
Als Lösung markieren Zitieren


Gehe zu:


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