Kodlarınızı inceledim ve birkaç potansiyel hata fark ettim. Electron'da ana süreç (main process) ve render süreç (renderer process) arasında IPC (Inter-Process Communication) kullanmanız gerekiyor. Ana süreç ve render süreçler arasındaki iletişim için IPC anahtarları kullanılır. Burada, ipcRenderer anahtarını kullanarak ana süreçten render sürecine veri aktarımı yapmaya çalışıyorsunuz.
İlk olarak, ana.html'de ipcRenderer modülünü doğru şekilde alma işlemini yapmışsınız, ancak ipcMain modülünü almanız gereken newWindow.html sayfasında ipcRenderer kullanmışsınız. Bu nedenle, newWindow.html sayfasında ipcMain modülünü doğru şekilde almanız gerekmektedir. Aşağıda düzeltme önerilerimi bulabilirsiniz:
ana.html:
<script>
const { ipcRenderer } = require('electron');
let openNew = document.querySelector("#studentButton");
let register = document.querySelector("#registerButton");
const input1 = document.getElementById('tcData');
openNew.addEventListener("click", () =>{
ipcRenderer.send("key:yeniğWindow");
});
register.addEventListener("click", () =>{
ipcRenderer.send("key:registerButton");
tcDataDiv();
});
function tcDataDiv() {
const input = document.getElementById('tcData').value;
ipcRenderer.send('tcDataDiv', input);
}
</script>
newWindow.html:
<script>
const { ipcRenderer } = require('electron');
ipcRenderer.on('tcDataDiv', (event, message) => {
yazıDiv.innerText = message;
const veriDiv = document.getElementById('yazıDiv');
});
</script>
Bu düzeltmeler yapıldığında, ana süreçten render sürecine veri aktarımı işlemi gerçekleşmelidir. Ayrıca, ana süreçte (main.js dosyanızda) ipcMain modülünü kullanarak tcDataDiv olayını dinlemeniz ve newWindow.html sayfasına verileri ilettiğinizden emin olmanız gerekmektedir.