Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
course_creation
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡芬
course_creation
Commits
0fdacae8
提交
0fdacae8
authored
11月 25, 2021
作者:
蔡芬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
preload 挂载到Window上
上级
96fba9a7
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
18 行增加
和
3 行删除
+18
-3
background.js
src/background.js
+1
-0
preload.js
src/preload.js
+17
-3
没有找到文件。
src/background.js
浏览文件 @
0fdacae8
...
...
@@ -46,6 +46,7 @@ async function createWindow() {
// nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
// contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION,
nodeIntegration
:
true
,
//web开启主进程中集成node
// 在独立JavaScript环境中运行Electron API和指定的preload脚本
contextIsolation
:
false
,
preload
:
path
.
join
(
__dirname
,
'preload.js'
)
},
...
...
src/preload.js
浏览文件 @
0fdacae8
const
fs
=
require
(
'fs'
);
const
{
clipboard
}
=
window
.
require
(
'electron'
);
// 挂载到Window上供其调用
const
{
clipboard
}
=
window
.
require
(
'electron'
);
// 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
const
JSBridge
=
{
// 只提供读取方法,不提供写入
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论