- onenote.git
- src
- electron
- js
- preload.js
This file ( 4kB ) exceeds the allowed full mode (48 kb) size.
The editor full hight is disabled, only scrolling is allowed..
If you wish to edit a file, it is recommended to use the scroll mode as some users do not like the full height
mode, although some users like it.
const electron =require('electron');
const shell = electron.shell;
const ipc = electron.ipcRenderer;
const data = {
url: ''
};
window.electronWindowSetup = function() {
ipc.on('p3x-onenote-onload-user', function(event, data) {
if (data !== null && data !== undefined) {
if (data.hasOwnProperty('url')) {
webview.src = data.url;
}
}
})
ipc.on('p3x-onenote-action', function(event, data) {
switch (data.action) {
/*
case 'focus-save':
//console.log('focus-save')
webview.getWebContents().executeJavaScript(`window.p3xOnenoteActiveElement = document.activeElement; window.p3xIframe = document.getElementById('sdx_ow_iframe'); window.p3xIframeDoc = window.p3xIframe.contentDocument || window.p3xIframe.contentWindow.document; console.log(window.p3xIframeDoc.activeElement);`)
break;
*/
case 'focus':
// webview.openDevTools();
if (webview !== undefined) {
webview.focus()
/*
webview.getWebContents().executeJavaScript(`var a = 'foo'; Promise.resolve(a);`).then(result => {
console.log(result)
}).catch(e => console.error(e))
*/
//webview.getWebContents().executeJavaScript(`console.log(window.p3xOnenoteActiveElement)`)
//document.activeElement
}
break;
case 'restart':
const session = webview.getWebContents().session;
session.clearStorageData(() => {
console.log('storage cleared');
webview.reload();
})
break;
case 'home':
webview.src = 'https://www.onenote.com/notebooks'
break;
case 'corporate':
webview.src = 'https://www.onenote.com/notebooks?auth=2&auth_upn=my_corporate_email_address'
break;
}
})
const webview = document.getElementById("p3x-onenote-webview");
webview.focus()
/*
webview.addEventListener('did-stop-loading', function(event) {
// webview.insertCSS(window.cssData);
});
*/
webview.addEventListener('did-navigate', function(event, url) {
data.url = webview.src;
ipc.send('p3x-onenote-save', data);
});
webview.addEventListener('new-window', function(event) {
if (/https?:\/\/(www\.)?onenote\.com/.test(event.url)) {
webview.src = event.url;
} else {
shell.openExternal(event.url);
}
});
ipc.send('did-finish-load');
}
const removeCookies = (webview) => {
let session = webview.getWebContents().session;
session.cookies.get({}, async function(error, cookies) {
if (error) {
alert(error.message);
console.error(error);
return;
};
for (var i = cookies.length - 1; i >= 0; i--) {
const cookie = cookies[i];
let domain = cookie.domain;
if (domain.startsWith('.')) {
domain = domain.substring(1);
}
const url = "http" + (cookie.secure ? "s" : "") + "://" + domain + cookie.path;
console.info(`
cookie.domain: ${cookie.domain}
cookie.hostOnly: ${cookie.hostOnly}
cookie.httpOnly: ${cookie.httpOnly}
cookie.name: ${cookie.name}
cookie.path: ${cookie.path}
cookie.secure: ${cookie.secure}
cookie.session: ${cookie.session}
cookie.value: ${cookie.value}
url: ${url}
`);
const promises = [];
promises.push(
new Promise((resolve) => {
session.cookies.remove(url, name, function (error) {
if (error) {
alert(error.message);
console.error(error);
return;
};
resolve();
console.log('cookie delete : ', cookie.name);
}
);
})
)
await Promise.all(promises);
webview.reload();
};
});
}