【问题标题】:How do I set a chromium command line flag in Electron?如何在 Electron 中设置 chromium 命令行标志?
【发布时间】:2018-07-20 17:15:46
【问题描述】:

我正在开发一个 Electron 应用程序,需要启用以下 Chromium 标志 GuestViewCrossProcessFrames 以使缩放与 webview 一起工作。

我尝试在 main.js 中调用以下行,但它似乎不起作用。还尝试为 BrowserWindow 和 webview 启用插件。

app.commandLine.appendSwitch('--enable-features=GuestViewCrossProcessFrames');

有人可以帮我设置这个标志吗?谢谢。

【问题讨论】:

    标签: javascript google-chrome electron chromium


    【解决方案1】:

    你可以通过调用来设置

    const { app } = require('electron');
    app.commandLine.appendSwitch('enable-features', 'GuestViewCrossProcessFrames');
    app.on('ready', () => {
    // place your code.
    }
    

    注意:您需要在 ready 事件发出之前调用它。

    【讨论】:

      【解决方案2】:

      我不清楚为什么 Electron 会这样做,尽管您指定的特定标志在电子中被明确禁用

      https://github.com/electron/electron/blob/bcbcb4c6436e84e7f1f2387c2d7581bbdadb5732/brightray/browser/browser_main_parts.cc#L185-L187

      所以你不能动态启用它。

      【讨论】:

        【解决方案3】:

        根据the docs,调用appendSwitch的正确方法是:

        app.commandLine.appendSwitch(switch[, value])
        

        正如OJ Kwon's answer 中提到的,显然enable-features 被Electron 明确禁用。如果不是这样,您可以使用以下语法进行设置:

        app.commandLine.appendSwitch('enable-features', 'GuestViewCrossProcessFrames');
        

        更多示例请参见Supported Chrome Command Line Switches

        【讨论】:

          【解决方案4】:

          为了使用 app.commandLine.appendSwitch 一定不要使用 '--' 你的调用应该是这样的

          app.commandLine.appendSwitch('enable-features=GuestViewCrossProcessFrames');
          

          【讨论】:

          • 我没有测试过你的方法 - 也许它有效,但我相信更标准的方法是分别拆分标志和值:app.commandLine.appendSwitch('enable-features' , 'GuestViewCrossProcessFrames');
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-25
          • 2011-01-30
          • 2023-03-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多