const { app, BrowserWindow } = require('electron');
app.on('ready', () => {
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true // Gerekli ise.
}
});
// Ana pencerenin içeriği (index.html gibi) yükleniyor.
mainWindow.loadFile('index.html');
});
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Buton Örneği</title>
</head>
<body>
<button id="newWindowButton">Yeni Pencere Aç</button>
<script>
// Butona tıklama olayını yakalayın.
const newWindowButton = document.getElementById('newWindowButton');
newWindowButton.addEventListener('click', () => {
// Yeni pencereyi açan fonksiyonu çağırın.
createNewWindow();
});
function createNewWindow() {
const newWindow = new BrowserWindow({
width: 600,
height: 400,
webPreferences: {
nodeIntegration: true // Gerekli ise.
}
});
// Yeni pencerenin içeriğini yükleyin (newWindow.html gibi)
newWindow.loadFile('newWindow.html');
// Yeni pencereyi kapatınca bellekten temizlenmesini sağlamak için olayı dinleyin.
newWindow.on('closed', () => {
newWindow = null;
});
}
</script>
</body>
</html>
<!-- newWindow.html -->
<!DOCTYPE html>
<html>
<head>
<title>Yeni Pencere</title>
</head>
<body>
<h1>Yeni Pencere</h1>
<p>Bu yeni bir pencere!</p>
</body>
</html>
const { app, BrowserWindow } = require('electron');
app.on('ready', () => {
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true // Gerekli ise.
}
});
// Ana pencerenin içeriği (index.html gibi) yükleniyor.
mainWindow.loadFile('index.html');
});
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Buton Örneği</title>
</head>
<body>
<button id="newWindowButton">Yeni Pencere Aç</button>
<script>
// Butona tıklama olayını yakalayın.
const newWindowButton = document.getElementById('newWindowButton');
newWindowButton.addEventListener('click', () => {
// Yeni pencereyi açan fonksiyonu çağırın.
createNewWindow();
});
function createNewWindow() {
const newWindow = new BrowserWindow({
width: 600,
height: 400,
webPreferences: {
nodeIntegration: true // Gerekli ise.
}
});
// Yeni pencerenin içeriğini yükleyin (newWindow.html gibi)
newWindow.loadFile('newWindow.html');
// Yeni pencereyi kapatınca bellekten temizlenmesini sağlamak için olayı dinleyin.
newWindow.on('closed', () => {
newWindow = null;
});
}
</script>
</body>
</html>
<!-- newWindow.html -->
<!DOCTYPE html>
<html>
<head>
<title>Yeni Pencere</title>
</head>
<body>
<h1>Yeni Pencere</h1>
<p>Bu yeni bir pencere!</p>
</body>
</html>
Çok Teşekkür EderimElectron'u projene dahil et, pencere oluştur.
JavaScript:const { app, BrowserWindow } = require('electron'); app.on('ready', () => { const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true // Gerekli ise. } }); // Ana pencerenin içeriği (index.html gibi) yükleniyor. mainWindow.loadFile('index.html'); });
İlk pencerene buton ekle.
HTML:<!-- index.html --> <!DOCTYPE html> <html> <head> <title>Buton Örneği</title> </head> <body> <button id="newWindowButton">Yeni Pencere Aç</button> <script> // Butona tıklama olayını yakalayın. const newWindowButton = document.getElementById('newWindowButton'); newWindowButton.addEventListener('click', () => { // Yeni pencereyi açan fonksiyonu çağırın. createNewWindow(); }); function createNewWindow() { const newWindow = new BrowserWindow({ width: 600, height: 400, webPreferences: { nodeIntegration: true // Gerekli ise. } }); // Yeni pencerenin içeriğini yükleyin (newWindow.html gibi) newWindow.loadFile('newWindow.html'); // Yeni pencereyi kapatınca bellekten temizlenmesini sağlamak için olayı dinleyin. newWindow.on('closed', () => { newWindow = null; }); } </script> </body> </html>
Yeni pencerenin içeriğini oluştu.
HTML:<!-- newWindow.html --> <!DOCTYPE html> <html> <head> <title>Yeni Pencere</title> </head> <body> <h1>Yeni Pencere</h1> <p>Bu yeni bir pencere!</p> </body> </html>
Rica ederim.Çok Teşekkür Ederim![]()
Rica ederim.
index.html sayfasındaki JavaScript kodunda bir hata var. BrowserWindow normal web sayfalarında kullanılmaz. BrowserWindow sadece Electron uygulamasının ana sürecinde kullanılr.Merhaba tekrardan.index.html sayfasındaki JavaScript kodlarını yazıyorum ama çalışmıyor maalesef. Require is not define hatasını alıyorum. NodeIntegrationuda true yaptım ama hala çalışmıyor.
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Buton Örneği</title>
</head>
<body>
<button id="newWindowButton">Yeni Pencere Aç</button>
<script>
// Butona tıklama olayını yakalayın.
const newWindowButton = document.getElementById('newWindowButton');
newWindowButton.addEventListener('click', () => {
// Ana sürecle iletişim kurmak için ipcRenderer kullanılıyor.
const { ipcRenderer } = require('electron');
// Yeni pencereyi açma mesajını ana sürece gönder.
ipcRenderer.send('open-new-window');
});
// Renderer süreçten alınan cevap üzerine yeni pencereyi açın.
const { ipcRenderer } = require('electron');
ipcRenderer.on('new-window-opened', (event, arg) => {
if (arg === 'success') {
console.log('Yeni pencere başarıyla açıldı.');
} else {
console.log('Yeni pencere açılırken bir hata oluştu.');
}
});
</script>
</body>
</html>
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.