Skip to content

Instantly share code, notes, and snippets.

@panther7
Created April 8, 2025 15:40
Show Gist options
  • Select an option

  • Save panther7/fe806b3564ce1d661bd46146ab899b1b to your computer and use it in GitHub Desktop.

Select an option

Save panther7/fe806b3564ce1d661bd46146ab899b1b to your computer and use it in GitHub Desktop.
Test postMessage
<button id=testButton>TEST</button>
<script>
testButton.onclick = () => {
window.postMessage({
command: "sbrowser-loggedAccount",
});
}
</script>
// Modules to control application life and create native browser window
const { app, BrowserWindow, WebContentsView } = require('electron')
const path = require('node:path')
function createWindow () {
// Create the browser window.
const mainWindow = new BrowserWindow({
width: 1000,
height: 800,
webPreferences: {}
})
// and load the index.html of the app.
//mainWindow.loadFile('index.html')
const tabViewConstructorOptions = {
webPreferences: {
allowRunningInsecureContent: false,
nodeIntegrationInSubFrames: false,
preload: path.resolve(__dirname, 'preload.js'),
webSecurity: true,
sandbox: true,
autoplayPolicy: 'document-user-activation-required',
contextIsolation: true,
nodeIntegration: false,
spellcheck: true,
transparent: false,
}
};
const tabView = new WebContentsView(tabViewConstructorOptions);
tabView.webContents.openDevTools({ mode: 'detach' });
mainWindow.contentView.addChildView(tabView, 0);
const { width, height } = mainWindow.getBounds();
tabView.setBounds({ x: 0, y: 0, width, height });
tabView.webContents.setUserAgent('SznProhlizec/6.99.99');
// tabView.webContents.loadFile('index.html');
tabView.webContents.loadURL('https://www.seznam.cz/prohlizec/vitejte');
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(() => {
createWindow()
app.on('activate', function () {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) createWindow()
})
})
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') app.quit()
})
// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.
{
"name": "cold-fortune-translate-fcmoz",
"productName": "cold-fortune-translate-fcmoz",
"description": "My Electron application description",
"keywords": [],
"main": "./main.js",
"version": "1.0.0",
"author": "filip.mosner",
"scripts": {
"start": "electron ."
},
"dependencies": {},
"devDependencies": {
"electron": "35.1.4"
}
}
window.addEventListener('message', (event) => {
console.log(event);
})
/**
* This file is loaded via the <script> tag in the index.html file and will
* be executed in the renderer process for that window. No Node.js APIs are
* available in this process because `nodeIntegration` is turned off and
* `contextIsolation` is turned on. Use the contextBridge API in `preload.js`
* to expose Node.js functionality from the main process.
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment