Context Menu Example - Electron Typing CST Test
Loading…
Context Menu Example — Electron Code
Implements a right-click context menu inside the renderer process.
// main.js
const { app, BrowserWindow, Menu } = require('electron');
function createWindow() {
const win = new BrowserWindow({ webPreferences: { nodeIntegration: true, contextIsolation: false } });
win.loadFile('index.html');
}
app.whenReady().then(createWindow);
// index.html
<!DOCTYPE html>
<html>
<body>
<h3>Right-click anywhere!</h3>
<script>
const { remote } = require('electron');
window.addEventListener('contextmenu', (e) => {
e.preventDefault();
const menu = remote.Menu.buildFromTemplate([
{ label: 'Say Hi', click: () => alert('Hi!') },
{ type: 'separator' },
{ role: 'quit' }
]);
menu.popup();
});
</script>
</body>
</html>Electron Language Guide
Electron is an open-source framework for building cross-platform desktop applications using web technologies (HTML, CSS, JS) with Node.js integration and Chromium-based rendering. It allows developers to create desktop apps for Windows, macOS, and Linux with a single codebase.
Primary Use Cases
- ▸Cross-platform desktop apps for Windows, macOS, and Linux
- ▸Rapid development using web technologies
- ▸Internal enterprise tools
- ▸Consumer desktop apps (Slack, VS Code, Discord)
- ▸Apps requiring integration with Node.js modules
Notable Features
- ▸Cross-platform support with a single codebase
- ▸Full access to Node.js APIs
- ▸Chromium-based rendering for web-like UI
- ▸Automatic updates via electron-updater
- ▸Extensive ecosystem of plugins and libraries
Origin & Creator
Created by GitHub in 2013 (originally as Atom Shell) to power the Atom text editor, Electron has grown into a popular framework for desktop apps.
Industrial Note
Best suited for cross-platform desktop apps where rapid development with web technologies is prioritized over binary size or raw performance.