4 个回答

“直接打印”?正经的js可没有调用系统功能的权限,顶多通过浏览器暴露的API唤醒其他应用

从浏览器的角度去思考,浏览器必须询问用户的真实意愿再决定是否调用系统打印服务,不经浏览器弹窗直接让 JS 调用打印机是有风险问题的。

你曾经是否被小广告弹窗弄的很尴尬?点击关闭结果不但没关闭反倒打开一个更大更尴尬的新窗口,还外带娇羞声音的那种。。。

试想一下, window.print 不经弹窗直接就能打印,那么,那些令你尴尬的网站可以在你点击的时候直接 window.print 帮你把尴尬永久保存下来。

百度搜索医院,点击了其中一家莆田系,进入医院网站首页的同时,医院检测到你有打印机,贴心地把医院地址和地图打印了出来。

去京东淘宝逛逛,看看双 11 有什么好物。哎,打印机怎么开始疯狂打印营销广告了,尼玛还是彩打!(产品经理:真是好用,比发垃圾邮件到客户邮箱直接多了)

综上,window.print 不可能直接跳过弹窗。

办法也不是没有,但你得自己写一个打印机驱动,通过 http 或者 webSocket协议去通知这个驱动打印。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题