2017-04-18 551 views
0

我找到了开发者链接; https://developer.chrome.com/extensions/printerProvider如何使用chrome.printerProvider API

但是,无法理解如何使用它。

我试图打印当前页面而不显示打印弹出窗口。

为了能够实现它,我看打印机提供商,但没有成功。

manifest.json的

{ 
    "name": "Print this page", 
    "description": "Adds a print button to the browser.", 
    "version": "1.1", 
    "background": { 
    "scripts": ["background.js"] 
    }, 
    "permissions": [ 
    "tabs", "http://*/*", "https://*/*", "printerProvider" 
    ], 


    "browser_action": { 
    "default_icon": "icon.png" 
    }, 
    "manifest_version": 2 
} 

background.js

chrome.printerProvider.onGetCapabilityRequested.addListener(function callback) { 
    alert(callback); 
}); 


chrome.printerProvider.onGetPrintersRequested.addListener(function callback){ 
    console.log(callback); 
}); 

但是,这些回调返回任何结果。

如何使用/触发这些事件?

+0

参考资料:询问例子等被视为异地资源的请求。这些要求是无关紧要的。我已经删除了你要求这些例子的问题部分。 – Makyen

+0

[Chrome扩展无声打印?]可能的重复?(http://stackoverflow.com/questions/31888183/chrome-extensions-for-silent-print) –

回答

-1

不幸的是,我不知道有什么方法可以在没有弹出窗口的情况下打印页面。但是,您可以使用

chrome.tabs.executeScript({ 
code: 'window.print()' 
}); 
0

回调API是由Chrome当用户点击pritn名为/ CTL + P

  • onGetPrintersRequested()回你需要通过打印机的功能,应返回打印机
  • 呼叫
  • onGetCapabilityRequested()名单当用户选择打印机,并从打印对话点击打印的CDD格式
  • onPrintRequested()被调用

所有这些回调方法都需要在您的background.js

和 您提供的回调函数不正确。参考文档以获取回调的签名