使用Lodop实现打印机列表,通过cookie设置浏览器默认打印机

Lodop相关资源下载地址:http://www.lodop.net/download.html
js引用:

    <script src="../js/jquery-2.1.1.min.js"></script>
    <script language="javascript" src="../js/LodopFuncs.js"></script>

html:使用select选择框

<div>
    <select class="form-control" id="status" style="width: 55%">
        <option id="select" value='' disabled selected style='display:none;'>默认设备</option>
    </select>
</div>

js代码:
注意:初始化函数最好使用window.onload方法

var LODOP;
//获取打印机设备数,用于进行遍历
var count = LODOP.GET_PRINTER_COUNT();
window.onload=function print() {  
    for (var i = 0; i < count; i++) {
    //根据设备序号获取设备名
        var msg = LODOP.GET_PRINTER_NAME(i);
        //将设备名添加到select块,并添加相应value值
        $("#status").append("<option value='" + i + "'>" + msg + "</option>");
        // alert(LODOP.GET_PRINTER_NAME(1));
    }
}

以下是设置默认设备的功能,原理是将设备序号存在cookie中,浏览器每次打开自动获取cookie,自动选择打印机:

//这里是写cookie逻辑
var arrStr = document.cookie.split("; ");
        for (var i = 0; i < arrStr.length; i++) {
            var temp = arrStr[i].split("=");
            if (temp[0] == "printn" && unescape(temp[1]) != "") {
            //判断cookie中是否存在打印机的值
                var tempvalue = unescape(temp[1]);
                LODOP.SET_PRINTER_INDEX(unescape(temp[1]));
                var strPName = LODOP.GET_PRINTER_NAME(unescape(temp[1]));
                console.log("当前设备:" + strPName);
            }
            else {
                var obj = document.getElementById("status");
                var index = obj.selectedIndex;
                var text = obj.options[index].text;
                var value = obj.options[index].value;
                if (value != "") {
                    LODOP.SET_PRINTER_INDEX(value);
                    var Days = 300;
                    var exp = new Date();
                    //设置cookie过期时间
                    exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
                    document.cookie = "printn=" + value + ";expires=" + exp.toGMTString();
                }
            }
//这里是读cookie自动选择设备逻辑:
var arrStr = document.cookie.split("; ");
        for (var i = 0; i < arrStr.length; i++) {
            var temp = arrStr[i].split("=");
            if (temp[0] == "printn" && unescape(temp[1]) != "") {

                LODOP.SET_PRINTER_INDEX(unescape(temp[1]));
                var strPName = LODOP.GET_PRINTER_NAME(unescape(temp[1]));
                document.getElementById("select").innerText = strPName;
            }
        }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值