forked from cba85/electron-webview
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpreload.js
44 lines (37 loc) · 1.17 KB
/
preload.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const { BrowserWindow } = require("@electron/remote");
const ipcRenderer = require('electron').ipcRenderer
window.prompt = function(title, val)
{
return ipcRenderer.sendSync('prompt', {title, val});
}
window.navigator.mediaDevices.getDisplayMedia = async function(constraints)
{
const selectedSource = await ipcRenderer.sendSync('select-media');
// create MediaStream
const stream = await navigator.mediaDevices.getUserMedia({
audio: false,
video: {
mandatory: {
chromeMediaSource: "desktop",
chromeMediaSourceId: selectedSource.id,
minWidth: 1280,
maxWidth: 1280,
minHeight: 720,
maxHeight: 720,
},
},
});
console.log("Stream Info:",stream);
return stream;
}
window.addEventListener("DOMContentLoaded", () => {
// Print function
document.getElementById("print_button").addEventListener("click", () => {
const url = document.querySelector("webview").getAttribute("src");
let printWindow = new BrowserWindow({ "auto-hide-menu-bar": true });
printWindow.loadURL(url);
printWindow.webContents.on("did-finish-load", () => {
printWindow.webContents.print();
});
});
});