TypeError:调用此.$q.electron.clipboard时无法读取未定义的属性“clipboard”

pxyaymoc  于 2023-05-27  发布在  Electron
关注(0)|答案(2)|浏览(247)

我在我的应用程序上添加复制到剪贴板功能(使用Electron)。
我使用这个命令:

methods: {
   copyToClipboard () {
       if (process.env.MODE === 'electron') {
            this.$q.electron.clipboard.writeText(this.logText)
       }
   }
}

然后我得到一个错误消息:

TypeError: Cannot read property 'clipboard' of undefined

我想知道为什么。在一个单独的vue文件(主布局vue)上,我还调用了this.$q.electron函数(最小化,最大化等),它们工作得很好。当我尝试使用此组件时,相同的函数也会生成相同的错误。
我最初是这样做的,但我需要改变实现,因为当我为Web构建时,这不起作用(我使用Web进行Cypress测试):

const { clipboard } = require('electron')
clipboard.writeText(this.logText)

this.$q.electron是否只允许在某些文件/级别上使用?

dojqjjoe

dojqjjoe1#

没关系。通过使用copyToClipboard()中内置的Quasar函数修复了这个问题。

import { copyToClipboard } from 'quasar'

谢谢

i7uq4tfw

i7uq4tfw2#

根据documentation,如果要在渲染器进程中使用clipboard,窗口必须处于non-sandboxed模式。
因此,您需要将沙盒选项设置为false

app.whenReady().then(() => {
  const win = new BrowserWindow({
    webPreferences: {
      sandbox: false
    }
  })
  win.loadURL('https://google.com')
})

标签:Electron Sandbox Tutorial

相关问题