4

我似乎无法找到Chrome打包应用程序中window.print()支持的任何示例 - 有人可以发表一个示例吗?在Chrome打包应用程序上打印支持

我使用这个

function clickHandler(e) { 
    window.print(); 
} 
document.addEventListener('DOMContentLoaded', function() { 
    document.querySelector('button').addEventListener('click', clickHandler); 
}); 

从 “世界,你好!”示例平台应用程序,但我似乎无法得到它的工作。

是否有我应该使用的特殊权限设置?

谢谢!

+0

的上下文作为完整性运行回调参数检查,是*任何*在页面上工作的JavaScript?你可以改变你的点击处理程序为'console.log(“works”); window.print();'只是为了确定? – apsillers

+0

我猜弹出窗口(如'window.print()')被阻塞在chrome扩展中,我尝试了一个示例,无法解析! – Sudarshan

回答

3

是的,window.print()适用于Chrome应用。您可以在official samples repo中找到样品。

这是因为在你的应用程序中的任何DOM窗口调用window.print()一样简单:

// prints the content of the current window: 
    window.print(); 

    // prints the content of another AppWindow: 
    anotherAppWindow.contentWindow.print() 

AppWindow是Chrome应用对象封装和扩展了应用能力的实际DOM窗口。该目的可以通过获得:

  1. 节省从chrome.app.window.create

  2. 调用任何代码chrome.app.window.current()在期望的窗口

+0

感谢您的回复和建议。 – cmpscabral

+0

我认为要完成这项工作,文件必须由用户明确选择,或者必须位于用户以前明确选择的目录中。使用应用程序内部的文件(chrome.storage.local)将不起作用,因为浏览器将无法访问该文件。 –

+0

@mangini:这个bug的状态是什么? –

相关问题