Récupérer des évènements JS dans Electron

a marqué ce sujet comme résolu.

Bonjour à tous,

je chercher actuellement à faire une visionneuse de PDF un peu customisée et qui enverrait un callback à un site web a chaque changement de page dans le pdf. Je me suis tourné vers Electron et PDF.js pour faire ça. Sauf que je n’arrive pas à faire communiquer le contenu affiché par le BrowserWindow et le thread principal.

J’aimerais donc savoir si vous connaissiez un moyen de faire ça. J’ai regardé autour d’IPC, mais ca ne s’intègre pas bien dans ma structure de projet.

Electron + PDF.js

Si dans la console du BrowserWindow Electron je mets le code suivant :

1
2
3
document.addEventListener('pagechange', function(evt){
 console.log(evt); 
});

J’arrive bien à avoir l’évènement. J’aimerais donc le capturer depuis Electron

Merci d’avance pour votre aide

+0 -0

J’ai regardé autour d’IPC, mais ca ne s’intègre pas bien dans ma structure de projet.

Stoakes

C’est à dire ? Parce que oui, IPC est fait pour ça. C’est ça que tu dois utiliser. Pourquoi est-ce que ça ne te conviendrait pas ?

+1 -0

Quand je mets mon code pour tester IPC dans viewer.html

1
2
3
4
5
6
  var ipcRenderer = require('electron');
  var contents = document.getElementById('outerContainer');
  contents.addEventListener('pagechange', function(evt){ 
    console.log(evt); 
    ipcRenderer.send('pagechange', evt);
  });

Ca ne marche pas : require not defined. Si j’active nodeintegration, ca me sort d’autres erreurs dans PDFJs :

  • Uncaught Error: Cannot find module ’node-ensure’ | module.js:340
  • Uncaught (in promise) TypeError: PDFJS.getDocument is not a function(…) | viewer.js:6504

Du coup je ne vais pas passer par le main thread pour faire les appels, je me contenterais de faire ça dans le BrowserWindow.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte