第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Electron BrowserView 不捕獲鼠標(biāo)事件

Electron BrowserView 不捕獲鼠標(biāo)事件

浮云間 2021-08-26 15:04:13
我有一個(gè)基于 Electron 的瀏覽器,比如需要渲染客戶端應(yīng)用程序的應(yīng)用程序。我很想使用電子的 webivew 來(lái)呈現(xiàn)我的應(yīng)用程序,但不推薦使用它們,并且默認(rèn)情況下也是禁用的。同樣由于 webviews 后面的 Chromium OOPIF(進(jìn)程外 IFrames)架構(gòu),它不再可能捕獲對(duì)我的應(yīng)用程序至關(guān)重要的鍵盤和鼠標(biāo)事件。所以我使用較新的 BrowserView api 并使用它來(lái)呈現(xiàn)我的客戶端 Web 應(yīng)用程序。但遺憾的是,我只能使用before-input-event事件捕獲鍵盤事件。這是我的代碼示例。let mainWindow = null;app.on('ready', () => {  mainWindow = new BrowserWindow({ show: false });  mainWindow.setBounds({ x: 0, y: 0, width: 800, height: 600 })  mainWindow.once('ready-to-show', () => {    mainWindow.show();  });  let view = new BrowserView()  mainWindow.setBrowserView(view)  view.webContents.loadURL('https://electronjs.org')  view.webContents.on('before-input-event', (event, input) => {    console.log(event, input);  });});我查看了電子的 github 問(wèn)題和官方文檔,但找不到任何東西。有沒(méi)有人找到一種方法來(lái)捕獲鼠標(biāo)事件以及從 BrowserView 內(nèi)部?任何幫助將不勝感激。
查看完整描述

1 回答

?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

通過(guò)對(duì)瀏覽器視圖使用預(yù)加載 webPreferences,您可以在其中使用 ipcRenderer,其中 preload.js 腳本將在


document.addEventListener('click', (event) => {

  ipcRenderer.send('something', event);

});

在主電子js中,您必須使用預(yù)加載并調(diào)用ipc main來(lái)捕獲鼠標(biāo)數(shù)據(jù)


let view = new BrowserView({

 webPreferences: {

  preload: path.join(__dirname, 'preload.js'),

 }

});


ipcMain.on('something', function (event, arg) {

  // your code here

})


查看完整回答
反對(duì) 回復(fù) 2021-08-26
  • 1 回答
  • 0 關(guān)注
  • 682 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)