javascript获取客户端默认打印机

JS

    <script language="javascript">
        function startRequest() {
            var oShell = new ActiveXObject("WScript.Shell");
            var sRegVal = 'HKEY_CURRENT_USER\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\Device';
            var sDefault = oShell.RegRead(sRegVal);
            return sDefault;
        }
 
        function Start (){
            var cpname = startRequest();
            alert(cpname);
        }
    </script>
  1. </script>

html input调用Start方法

<input οnclick="return Start();" type="button" value="获取客户端默认打印机"/>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
获取客户端打印机列表需要通过浏览器的 JavaScript 调用浏览器提供的 API 实现。具体步骤如下: 1. 使用`navigator`对象中的`userAgent`属性判断客户端浏览器类型,如果是 IE 浏览器,需要使用特殊的 API 来获取打印机列表。 2. 使用`navigator`对象中的`mimeTypes`属性获取浏览器支持的 MIME 类型列表。 3. 遍历 MIME 类型列表,找到类型为`application/pdf`的对象,获取其中的`enabledPlugin`属性。 4. 如果`enabledPlugin`属性存在,则说明浏览器支持 PDF 插件,可以使用插件提供的 API 获取打印机列表。 5. 如果`enabledPlugin`属性不存在,则说明浏览器不支持 PDF 插件,需要使用浏览器提供的`window.print()`函数来打开打印对话框,让用户手动选择打印机。 示例代码如下: ```javascript function getPrinters() { var printers = []; if (navigator.userAgent.indexOf('MSIE') !== -1) { // IE 浏览器使用特殊的 API 来获取打印机列表 printers = window.navigator.msSaveOrOpenBlob.getPrintSettings().printerList; } else { // 其他浏览器使用 PDF 插件或浏览器自带的打印对话框 var mimeTypes = navigator.mimeTypes; for (var i = 0; i < mimeTypes.length; i++) { if (mimeTypes[i].type === 'application/pdf') { if (mimeTypes[i].enabledPlugin) { // 使用 PDF 插件提供的 API 获取打印机列表 var plugin = mimeTypes[i].enabledPlugin; for (var j = 0; j < plugin.printer.length; j++) { printers.push(plugin.printer[j]); } } else { // 使用浏览器自带的打印对话框 window.print(); } break; } } } return printers; } ``` 注意:该代码仅供参考,实际应用中需要根据具体浏览器和插件的 API 来实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ok060

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值