Problème avec electron

Tom -  
 Tom -
Bonjour,
j'ai voulu creer une application en js/html/css avec electron.
Mais voila, j'ai rencontré le problème suivant : les scripts placés dans mon Index.html ne fonctionne pas ainsi que ipc.

voici mon main.js :
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;



let mainWindow;

function createWindow () {

  mainWindow = new BrowserWindow({
      width: 800,
      height: 600,
      icon: './images/main.png',
      title: 'Yellow-submarine',
      closable: false,
      movable: false,
      frame: true,
      center: true
  });

  mainWindow.loadURL(`file://${__dirname}/index.html`);

  mainWindow.on('closed', () => {
    mainWindow = null;
  })
}

app.on('ready', createWindow);
app.setAppUserModelId(process.execPath)

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

app.on('activate', () => {
  if (mainWindow === null) {
    createWindow();
  }
});
// Les requires du début …

const ipc = electron.ipcMain;

// Le reste de notre code (ouverture de fenêtre, etc) …

ipc.on('log-error', () => {
    remote.dialog.showErrorBox('Erreur !', 'L\'application a rencontré une erreur. Votre ordinateur va s\'auto-détruire dans 10 secondes.');
});

mon index.html:
<!DOCTYPE html>
<html>
   <head>
      <meta charset = "UTF-8">
      <title>Yellow Submarine</title>
      <link rel = "stylesheet"
         href = "./bower_components/bootstrap/dist/css/bootstrap.min.css" />

      <style type = "text/css">
         #contact-list {
            height: 150px;
            overflow-y: auto;
         }
      </style>
   </head>

   <body>
      <div class = "container">
         <h1>Connection :</h1>
         <div class = "form-group">
            <label for = "Name">Name</label>
            <input type = "text" name = "Name" value = "" id = "Name"
               placeholder = "Name" class = "form-control" required>
         </div>

         <div class = "form-group">
            <label for = "Email">Email</label>
            <input type = "email" name = "Email" value = "" id = "Email"
               placeholder = "Email" class = "form-control" required>
         </div>

         <div class = "form-group">
            <button class = "btn btn-primary" id = "connect">Connect</button>
            <button class = "btn btn-success" id = "register">Register</button>
         </div>
           <button class = "btn btn-primary"  id = "ipc">Error</button>

      </div>

      <script src = ./renderer.js></script>
   </body>
</html>

et mon renderer.js :
let launch = new Notification('Application-Lancé', {
  body: 'application lancée',
  icon: './images/notif.png'
})
const ipc = require('electron').ipcRenderer;

document.getElementById('ipc').addEventListener('click', () => {
    ipc.send('log-error');
});

merci d'avance ! j'espère que vous trouverez la solution a mon problème.

Configuration: Windows / Chrome 80.0.3987.149

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Pour commencer :
      <script src = ./renderer.js></script>
    

    Avec des Quotes ça sera déjà mieux je pense
      <script src="./renderer.js"></script>
    


    Et dans ton js, je ne crois pas que les backquotes soient bonnes... à mon avis, il faut des quotes normales
     mainWindow.loadURL(`file://${__dirname}/index.html`);
    

    A remplacer par
     mainWindow.loadURL('file://${__dirname}/index.html');
    


    Après... regarde dans la console de ton navigateur si tu vois des erreurs...
    0
    1. Tom
       
      merci beaucoup, je suis vraiment confus, ces erreurs sont stupides et j'auraient pu les remarquer avant ton intervention.
      Merci quand même
      0
  2. Tom
     
    Je crois que rien n'y fait, ça ne marche toujours pas, si quelq'un a la solution a mon problème je suis preneur...
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Comme je te l'ai indiqué... regarde dans la console Javascript de ton navigateur si il y a des erreurs....

      Par contre, en lisant la doc https://www.electronjs.org/docs/api/browser-window je vois que les backquotes sont bien à utiliser dans ton cas
      win.loadURL(`file://${__dirname}/app/index.html`)
      
      0
      1. Tom > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        J'ai essayé de regarder dans la console js de mon naviguateur, mais cela affiche que les erreurs liées au fait que mon programme est en node.js et non en js.
        0