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的狀態是什麼? –

相關問題