问题
I am working on an Electron app and need to enable the following Chromium flag GuestViewCrossProcessFrames
to make scaling work with webview.
I tried calling the following line in my main.js but it doesn't seem to work. Also tried enabling plugins for the BrowserWindow as well as webview.
app.commandLine.appendSwitch('--enable-features=GuestViewCrossProcessFrames');
Can someone help me setting up this flag? Thank you.
回答1:
you can set by calling
const { app } = require('electron');
app.commandLine.appendSwitch('enable-features', 'GuestViewCrossProcessFrames');
app.on('ready', () => {
// place your code.
}
note: you need to call it before ready event emitted.
回答2:
It is not clear to me why Electron does this though specific flag you specified is explicitly disabled in electron
https://github.com/electron/electron/blob/bcbcb4c6436e84e7f1f2387c2d7581bbdadb5732/brightray/browser/browser_main_parts.cc#L185-L187
So you can't enable it dynamically.
回答3:
In order to use app.commandLine.appendSwitch be sure to not use '--' your call should look like this
app.commandLine.appendSwitch('enable-features=GuestViewCrossProcessFrames');
回答4:
According to the docs, the proper way of calling appendSwitch
is:
app.commandLine.appendSwitch(switch[, value])
As mentioned in OJ Kwon's answer, apparently enable-features
is explicitly disabled by Electron. If that wasn't true, you would be able to set it with the following syntax:
app.commandLine.appendSwitch('enable-features', 'GuestViewCrossProcessFrames');
See Supported Chrome Command Line Switches for more examples.
来源:https://stackoverflow.com/questions/51447497/how-do-i-set-a-chromium-command-line-flag-in-electron