69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
// put this preload for main-window to give it prompt()
|
|
const { ipcRenderer, } = require('electron')
|
|
window.prompt = function(title, val){
|
|
return ipcRenderer.sendSync('prompt', {title, val})
|
|
}
|
|
const sendPinokio = (action) => {
|
|
console.log("window.parent == window.top?", window.parent === window.top, action, location.href)
|
|
if (window.parent === window.top) {
|
|
window.parent.postMessage({
|
|
action
|
|
}, "*")
|
|
}
|
|
}
|
|
|
|
|
|
// ONLY WHEN IN CHILD FRAME
|
|
if (window.parent === window.top) {
|
|
if (window.location !== window.parent.location) {
|
|
let prevUrl = document.location.href
|
|
sendPinokio({
|
|
type: "location",
|
|
url: prevUrl
|
|
})
|
|
setInterval(() => {
|
|
const currUrl = document.location.href;
|
|
// console.log({ currUrl, prevUrl })
|
|
if (currUrl != prevUrl) {
|
|
// URL changed
|
|
prevUrl = currUrl;
|
|
console.log(`URL changed to : ${currUrl}`);
|
|
sendPinokio({
|
|
type: "location",
|
|
url: currUrl
|
|
})
|
|
}
|
|
}, 100);
|
|
window.addEventListener("message", (event) => {
|
|
if (event.data) {
|
|
console.log("event.data = ", event.data)
|
|
console.log("location.href = ", location.href)
|
|
if (event.data.action === "back") {
|
|
history.back()
|
|
} else if (event.data.action === "forward") {
|
|
history.forward()
|
|
} else if (event.data.action === "refresh") {
|
|
location.reload()
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
//document.addEventListener("DOMContentLoaded", (e) => {
|
|
// if (window.parent === window.top) {
|
|
// window.parent.postMessage({
|
|
// action: {
|
|
// type: "title",
|
|
// text: document.title
|
|
// }
|
|
// }, "*")
|
|
// }
|
|
//})
|
|
window.electronAPI = {
|
|
send: (type, msg) => {
|
|
ipcRenderer.send(type, msg)
|
|
}
|
|
}
|