

Electronのレンダラープロセスからプリロードに定義された変数を呼び出したいです。  
Electronのバージョンはv19.0.4です。

公式ページの[チュートリアル](https://www.electronjs.org/docs/latest/tutorial/process-
model)にしたがって以下のコードを作成しました。

しかし`undefined`が表示されてしまいます。  
どこに原因があるのでしょうか？

  * main.js

[code]

    const { app, BrowserWindow, ipcMain } = require("electron");
    const path = require("path");
    
    let mainWindow;
    
    const createWindow = () => {
      mainWindow = new BrowserWindow({
        width: 800,
        height: 600,
        useContentSize: true,
        webPreferences: {
          nodeIntegration: false,
          contextIsolation: true,
          preload: path.join(__dirname, "preload.js"),
        },
      });
    
      mainWindow.loadFile("index.html");
      mainWindow.webContents.openDevTools();
      mainWindow.on("closed", () => {
        mainWindow = null;
      });
    };
    
    
[/code]

  * preload.js

[code]

    const { contextBridge } = require('electron')
    
    contextBridge.exposeInMainWorld('myAPI', {
      desktop: true
    })
    
    
[/code]

  * index.html

[code]

    ...
    <script src="./renderer.js"></script>
    ...
    
[/code]

  * renderer.js

[code]

    console.log(window.myAPI)
    
[/code]


CC BY-SA 4.0
2022-06-16T07:40:27.003
89415
2022-06-16T14:39:48.860
2022-06-16T14:39:21.177
3060
23065
question
javascript electron
Electronのレンダラープロセスからプリロードに定義された変数を呼び出したい


自己解決しました。  
HTMLのフレームを使用していたのが駄目だったみたいです。  
（フレーム内から呼び出したjavascriptにはなぜか値を渡せない）


CC BY-SA 4.0
2022-06-16T14:25:07.170
89429
2022-06-16T14:39:48.860
2022-06-16T14:39:48.860
3060
23065
89415
answer