使 Google Docs 的剪贴板在嵌入 Electron webview 时工作

Make Google Docs' clipboard work when embedded in an Electron webview

我在 Electron 应用程序的 webview 中嵌入了 Google Docs 网络应用程序。

键盘 copy-paste(mac 上的 Cmd+C/Cmd+V)工作正常,但网络剪贴板是通过菜单触发的(编辑 > 复制) 不起作用:

有人知道如何在 Electron 中使用它吗?

请注意,我可以使用 Brave browser, browser based on Electron. Note also that Safari displays the same kind of notice 重现该问题。

我阅读了 there and there that Chromes implements some kind of exception with the Clipboard API 的 google 应用程序以使其正常工作。我有兴趣用 Electron 实现相同类型的异常。

webviewpreload 中添加这段代码,消息消失,剪贴板按预期工作:

(function () {
  window._docs_chrome_extension_exists = !0;
  window._docs_chrome_extension_features_version = 1;
  window._docs_chrome_extension_permissions = ["alarms", "clipboardRead", "clipboardWrite", "storage", "unlimitedStorage"];
})()

的确,通过仔细观察 Google Drive extension 的作用,我意识到该扩展正在每个与 Google Drive 的 URL 匹配的选项卡中加载这段代码。