启用屏幕共享电子,而不使用nodeIntegration true

时间:2019-04-29 13:08:48

标签: electron

我正在用电子创建本地应用程序。为此,我创建了一个BrowserWindow并使用nodeIntegration false将URL加载到其中。在我的网站中,如果在浏览器中打开,一切正常。但是,如果我在电子设备上运行相同,则屏幕共享无法正常工作。我尝试使用一些在线参考来实现它,例如使用“ preload”加载js文件。但是什么都行不通

  

我正在为此使用最新的Electron。

main.js

const {app, BrowserWindow} = require('electron');
const path = require('path');
let mainWindow

function createWindow () {
  // Create the browser window.
  mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: false,
      allowRunningInsecureContent: true,
      preload: path.join(__dirname, 'loadScripts.js')
    }
  });
  mainWindow.loadURL("https://abc.xyz.com/dkajd");
  mainWindow.webContents.openDevTools();
}
app.on('ready', createWindow);

app.on('activate', function () {
  if (mainWindow === null) createWindow()
});

loadScript.js

const { desktopCapturer } = require('electron');
let mediaSources = null;

desktopCapturer.getSources({ types: ['window', 'screen'] },(err, sources) => {
  mediaSources = sources;
});

0 个答案:

没有答案