websocket-jqprint

WebSocket

WebSocket是一种网络通信协议,是HTML5开始提供的一种在单个连接TCP连接上进行全双工通讯的协议。

关于websocket的文章,可以看这篇 https://www.cnblogs.com/jingmoxukong/p/7755643.html

在前端中,基本的写法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 初始化一个 WebSocket 对象
var ws = new WebSocket("ws://localhost:8080/echo");

// 建立 web socket 连接成功触发事件
ws.onopen = function () {
// 使用 send() 方法发送数据
ws.send("发送数据");
};

// 接收服务端数据时触发事件
ws.onmessage = function (evt) {
var received_msg = evt.data;
};

// 断开 web socket 连接成功触发事件
ws.onclose = function () {
console.log("连接已关闭...");
};

做了一个通过websocket通讯并打印图片的例子:https://github.com/zhangdianlei/websocket

Jqprint

jqprint是一款js插件,可以在前端调用打印机,对选择的dom进行打印操作。

在使用的时候,需要引入两个js依赖文件:

1
2
<script src="js/jquery.jqprint-0.3.js"></script>
<script src="js/jquery.imgbox.pack.js"></script>

当然要先引入jQuery,然后配合jQuery选择器,选择dom对象进行打印即可。是对页面显示的内容进行打印的

示例:

1
2
3
4
5
6
7
var printObj = $(obj).parent().prev();
printObj.jqprint({
debug: false,
importCSS: true,
printContainer: true,
operaSupport: false
});

onclick传递this参数的问题

需要带着 javascript 参数,示例如下:

1
<button class="btn btn-primary" onclick="javascript:func(this)">打印</button>

1
2
3
4
5

```js
function printInvoice(obj){
var printObj = obj
}

可参考这篇文章:<https://blog.csdn.net/itmyhome1990/article/details/8820581 >