大家好,又见面了,我是你们的朋友全栈君。
背景
最近手头的 electron
项目需要做一个报告导出的功能,导出时要弹出个页面,可让用户自行补全相应的字段。
由于公司已有现成的笔录工具,现直接将其集成进来,用 webview
直接展示其笔录页面,将已有的值传给笔录。
webview 简介
electron
的 webview
标签时基于 Chromium webview ,由于 Chromium
的架构变化巨大,会影响 electron
webview
的稳定性,包括呈现、导航和事件路由。所以 electron
团队不建议使用 webview
标签。
注意:默认情况下,electron
>= 5禁用 webview
标签。 在构造 BrowserWindow
时,需要通过设置 webviewTag
webPreferences
选项来启用标签。
var win = new BrowserWindow({
height: 1040,
width: 1920,
backgroundColor: 'radial-gradient(#1b5083, #010204)',
webPreferences: {
webviewTag: true
}
})
与 iframe
不同, webview
独立于您的应用程序运行。 它拥有和你的页面不一样的权限并且所嵌入的内容和你应用之间的交互都将是异步的。 这将保证你的应用对于嵌入的内容的安全性。 注意: 从宿主页上调用 webview
的方法大多数都需要对主进程进行同步调用。
preload
webview
的 preload
属性只支持 file:
协议
<webview src="https://www.github.com/" preload="file://E:/test/preload.js"></webview>
总结
webview
的 preload
只支持 file
协议,打包成 asar
后,要注意和开发环境的相对位置关系。
但是不建议使用 webview
,可以新建个窗口再放外部链接。
本篇属于 electron
初识,如有表述不当,望指出改正。
参考
1. electron文档 webview篇 2. electron webview加载远程preload方法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/213476.html原文链接:https://javaforall.cn