如何删除打印中的弹出选项

时间:2018-11-05 19:40:34

标签: javascript css printing textarea editor

我想在打印textarea的内容时从此脚本中删除弹出选项,因此打印页面将在textarea的同一页面中,因为我添加了CSS,因此打印的页面将没有链接或日期“ @page {大小:自动;边距:0毫米;}“,但在单独的页面中弹出时,会显示链接和日期

<html >
<head>
<title></title>
<!-- script print button -->
 <script type="text/javascript">
      function printTextArea() {
	
        childWindow = window.open('','childWindow','location=yes, menubar=yes, toolbar=yes');
        childWindow.document.open();
        childWindow.document.write('<html><head></head><body dir="rtl">');
        childWindow.document.write(document.getElementById('targetTextArea').value.replace(/\n/gi,'<br/>'));
        childWindow.document.write('</body></html>');
        childWindow.print();
        childWindow.document.close();
        childWindow.close();
      }
    </script>
<style type="text/css">
@page { size: auto;  margin: 0mm; }
textarea {
direction: rtl; 
 background-color: white;
 font-size: 1em;
 font-weight: bold;
 font-family: Verdana, Arial, Helvetica, sans-serif;
 border: 1px solid #00acee;
 resize: none;
}
input[type=button] {
    background-color: #00acee;
    border: none;
    color: white;
    padding: 16px 32px;
    text-decoration: none;
    margin: 4px 2px;
    cursor: pointer;
}
</style>
</head>

<body>
  <p>
    <TEXTAREA name="thetext" rows="20" cols="80"id="targetTextArea" placeholder="قم بنسخ و لصق الطلب لملأه و التعديل عليه و طباعته بالزر أسفله ......"></TEXTAREA>
   </p>
   <!-- print button -->
  <center> <input type="button" onclick="printTextArea()" value="طباعة"/></center>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

之所以会这样,是因为您正在printTextArea()内打开一个新窗口。

  

使用window.open()方法打开一个窗口时,可以从目标窗口使用此属性来返回源(父)窗口的详细信息。   您可以在w3schools上了解更多有关它的信息。 W3School Window Opener

      function printTextArea() {

        childWindow = window.open('','childWindow','location=yes, menubar=yes, toolbar=yes');
        childWindow.document.open();
        childWindow.document.write('<html><head></head><body dir="rtl">');
        childWindow.document.write(document.getElementById('targetTextArea').value.replace(/\n/gi,'<br/>'));
        childWindow.document.write('</body></html>');
        childWindow.print();
        childWindow.document.close();
        childWindow.close();
      }

代替打开新窗口,您应该通过id选择文本区域,并使用.innerHTML更新它的html。例如:

document.getElementById("demo").innerHTML = "Paragraph changed!";