星空2020 2023-06-07 12:43 采纳率: 64.1%
浏览 36
已结题

layui table打印行如何不预览,直接执行打印?

layui table拼接打印行内容时,如何直接打印,不显示打印预览?
如下我拼接后调用打印,会先弹出打印预览窗口,然后点击打印才执行打印,如何取消预览呢?



```php
<script>
layui.use('table', function(){
  var table = layui.table;
  var $ = layui.jquery;
    var tableFilter = layui.tableFilter;
  
  var tableIns = table.render({
    elem: '#test'
    ,url: './score_data.php' //数据接口,json格式
    ,toolbar:'#toolbarDemo'
    ,defaultToolbar: ['filter', 'print']
    ,loading:true
    ,height:'full-20'
    ,skin:''
    ,size:''
    ,page: true //开启分页
    ,cols: [[ //表头
      {field: 'id', title: 'ID', width:'5%', sort: true, fixed: 'left'}
      ,{field: 'name', title: '姓名', width:'8%'}
      ,{field: 'datetime', title: '日期', width:'10%'}
      ,{field: 'score', title: '分数', width:'10%'}
      ,{field: 'print', title: '操作', width:'10%'}
         ]]
    ,where:{
        }
        , page: true
        , limits: [50,100,150,200,250,300,350,400,450,500]
        , limit: 50 //每页默认显示的数量
  });

table.on('tool(test)', function (obj) {
        var data = obj.data;
        //console.log(data)
        if (obj.event === 'print' ) {
//用于包含内容
            var v = document.createElement("divarea");
            //页面头部,导入css  ,media="print"表示打印时使用该样式
            var f = ["<head>", "<style>", "div{font-size:12px;}", ".main{width:50%;height:20%}",
                ".main div{width:300px;margin-right: 50px;display:inline-block;}", "</style>", "</head>"
            ].join("");
            var contentHtml = "";
            
                var template =
                    "<div class='main'>" +
                    "<div>PN:" + data.name +"</div><br>" +
                    "<div>ANA:" + data.datetime+ "</div><br>" +
                    "<div>WH:" + "<?php echo $_SESSION['name']; ?>" + "</div><br>" +
                    "<div>Date:"+ data.score+ "</div><br>" + 
                    "</div>"
                contentHtml += template;        

            //contentHtml为已拼凑好的内容
            $(v).append(contentHtml)
            //新建窗口
            var h = window.open("打印窗口", "_blank",'width=600,height=400,top=260px,left=380px');
            //写入拼凑内容
            h.document.write(f + $(v).prop("outerHTML"));
            //调用打印
            h.print();
            //关闭页面
            h.close(); 
}

```

  • 写回答

1条回答 默认 最新

  • WuWuII 2023-06-07 15:35
    关注

    浏览器出于安全原因不允许完全无窗口打印

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月11日
  • 修改了问题 6月7日
  • 创建了问题 6月7日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题