前提・実現したいこと
youtubeの動画を埋め込むため、BrowserWindowにiframeを含むhtmlソースを使用したいです。
発生している問題・エラーメッセージ
既存の動作しているソースに変更は加えず、html側にyoutubeのiframeソースをベタ書きしています。
このコードを追記した時に、MainProcessのclosedイベントが発生しません。
該当のソースコード
html
1//他のソースは省略 2//XXXXXXXXXXXは任意の動画ID 3<iframe type="text/html" width="640" height="360" src="https://www.youtube.com/embed/XXXXXXXXXXX?autoplay=0" frameborder="0"></iframe>
Javascript
1//RendererProcess 2$('#close-button').on('click', () => { 3 ipcRenderer.send('mainwindow_close'); 4});
javascript
1//MainProcess 2const {BrowserWindow, app, ipcMain} = require('electron'); 3const path = require('path'); 4 5let mainWindow; 6 7app.on('ready', function() { 8 mainWindow = new BrowserWindow({ 9 frame: false, 10 width: 300, 11 height: 300, 12 webPreferences: { 13 nodeIntegration: true, 14 contextIsolation: false 15 } 16 }); 17 18 mainWindow.loadURL('htmlFilePath');//htmlFilePathは任意の文字列 19 20 mainWindow.on('closed', function() { 21 //iframeを含むとここが実行されない 22 mainWindow = null; 23 }); 24}); 25app.on('window-all-closed', function () { 26 app.quit(); 27}); 28 29ipcMain.on('mainwindow_close', () => { 30 //ここは実行される 31 mainWindow.close(); 32});
試したこと
原因を探したのですが、iframeがあるときのみ発生する事象のようです。
補足情報(FW/ツールのバージョンなど)
Electron v13.1.1
Node.js v14.15.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/16 15:51
2021/06/16 16:34
2021/06/20 03:15