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.
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 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.
BrowserWindow adında bir değişken olmadığı için ReferenceError: BrowserWindow is not defined hatasını alıyorsn. nodeIntegration özelliği ana süreçteki "main process" JavaScript dosyalarında kullanılabilir. Renderer sürecinde bu özelliği kullanmak doğru olmaz.
Electron'da main process'de oluşturulan pencerelerin renderer süreçteki JavaScript ile kullanmak gerektiğinde, Electronun ipcMain ve ipcRenderer modüllerini kullanmalısın.
Main process ve renderer süreçler arasında etkileşim için ipcMain ve ipcRenderer modüllerini kullanmalısın.
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', () => {
// 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>