electron封装接口给页面

electron封装接口有两种方式,都是在preload.js中进行编写注入预加载函数。第一种就是用传统的定义函数的方式。第二种是使用contextBridge。

第一种 define

window.something.dothing = function(arg) {
    
    
  console.log(`do something in render. ${
      
      arg}`)
  return true; // 返回 true
};

第二种 contextBridge

// new way to defined global api
contextBridge.exposeInMainWorld(
  "something", {
    
    
    dothing: (arg) => console.log(`do something in render. ${
      
      arg}`)
  }
)

选择

本地页面,或者本项目内的系统优先使用第一种,开发方便,限制较少。
在线页面,优先选择第二种,隔离做的比较好,可以避免很多jquery无法引用的问题。