Implementación de jsbridge en el lado de los electrones

antecedentes

Desea ejecutar un conjunto de códigos en el navegador, puede ejecutar en el extremo electrónico, esta vez por la necesidad de usar el electrón a BrowserWindowtiempo, los parámetros anteriores deben agregar webPreferencesparámetros

Código

// main.js
const mainViwndo = new BrowserWindow({
    
    
    webPreferences: {
    
    
        webSecurity: false,
        nodeIntegration: true,
        preload: path.join(__dirname, 'preload.js'),
    },
})

En este caso, puede estar en preload.js

// preload.js
window._ipcRenderer = require('electron').ipcRenderer;
window._remote = require('electron').remote;
window._platform = process.platform;

A través de este formulario, puede admitir que el código se puede ejecutar tanto en el lado electrónico como en el lado del navegador.

Entonces el negocio final usa


// electron-client.js
const _rpc = window._ipcRenderer;

export function minWindow() {
    
    
    _rpc && _rpc.send('minWindow');
}

export function maxWindow() {
    
    
    _rpc && _rpc.send('maxWindow');
}

export function closeWindow() {
    
    
    _rpc && _rpc.send('closeWindow');
}

export function unMaxWindow() {
    
    
    _rpc &&  _rpc.send('unMaxWindow');

}

Luego contactando a is-electronla biblioteca, en el código de servicio

const isInElectron = isElectron();

if(isInElectron){
    // electron 端
}
else{
    // 浏览器端
}

Supongo que te gusta

Origin blog.csdn.net/wancheng815926/article/details/106058871
Recomendado
Clasificación