提交 0fdacae8 authored 作者: 蔡芬's avatar 蔡芬

preload 挂载到Window上

上级 96fba9a7
...@@ -46,6 +46,7 @@ async function createWindow() { ...@@ -46,6 +46,7 @@ async function createWindow() {
// nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION, // nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
// contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION, // contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION,
nodeIntegration: true, //web开启主进程中集成node nodeIntegration: true, //web开启主进程中集成node
// 在独立JavaScript环境中运行Electron API和指定的preload脚本
contextIsolation: false, contextIsolation: false,
preload: path.join(__dirname, 'preload.js') preload: path.join(__dirname, 'preload.js')
}, },
......
const fs = require('fs');
const { clipboard } = window.require('electron');
// 挂载到Window上供其调用
const { clipboard } = window.require('electron'); const JSBridge = {
// https://revolutionary.jkxuetang.com/download?path=C6EDPYre%2Bvu%2B10Ub4uYjYZEPJYjKE46z4wma6JUAOsvvm2Ki4ypAeInpzQXufiOx0ObQDs4usDE8WBNJ51cepu0IOqQ02vOCnT4H03JX0Y45hFe2GGOhuj%2F%2Fog0AkB8q3kMKNvuohAzcMeY0JI%2FYSV0a59JlYJqJ28cGJsE6r%2FfBeWI&name=C6tQONWE%2FPyixkIfoew9&corpid=B%2FNWbYuG9fm1zEMb%2FutiPb8xYJXxS8uusDKF6g&t=D%2FdXbtbfqf7nlQJcpug7fstM // 只提供读取方法,不提供写入
\ No newline at end of file readFile: (path) => {
return new Promise((resolve,reject)=>{
// 做一些路径规则判断,是否允许访问
if(!/^[a-zA-Z]:[\\]((?! )(?![^\\/]*\s+[\\/])[\w -]+[\\/])*(?! )(?![^.]*\s+\.)[\w -]+$/.test(path)) reject(new Error(`not allowed path ${path}`))
fs.readFile(path, (err, data)=>{
if(err) reject(err)
resolve(data)
})
})
}
}
window.JSBridge = JSBridge
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论