1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- // 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)
- }
- }
|