公司有一个 Angular 13 写的网页版加盟店管理系统,用户用的浏览器什么妖魔鬼怪都有,2345 浏览器、QQ 浏览器已经算好了,还有什么魔方浏览器的,都是各种魔改精简的远古内核,经常有人反应表格加载不出来(因为需要的功能很多,我用的是 ag-grid 这个英国产的 datagrip 组件,在国内有一点冷门,国产浏览器的兼容性不太好)、不能提交导出什么的,技术员好不容易远程给他们装上配置好 Chrome ,还没过一天默认浏览器又被锁定成什么“旗鱼浏览器”了。领导想让打包成 exe 给他们用,还想借此机会简单防止一下用户使用按键精灵之类的工具自动提交一些安全相关的检查单(不是强需求,能简单实现最好,复杂就不做了)(不能用扫描进程的方法,没办法确定不是用户点的,最好是无感让这类软件失效)验证码没用,只能让员工点验证码,还是可以不看检查单。限制点击频率也没用,按键精灵可以弄间隔,而且影响正常操作的用户。因为加盟店电脑上都有微信电脑版,所以兼容性能够接近微信电脑版就好。如果可以的话最好安装包体积能小一点,方便直接通过微信分发。Electron 打包不支持 win7 ,而且包有点大,超过了微信文件大小限制,有没有方便的把像视频播放这样大的我没用到的功能砍掉的方法?领导说最好能兼容 xp ,兼容 win7 是底线,很多门店都在用 win7 。听说 V2EX 懂这方面的人很多,于是来咨询一下。上周帖子发错板块了,一周只有一个人回复。

C# 内嵌一个 CEF 浏览器

用老版本的 Electron 打包,可以支持 win7 。单论兼容性,肯定是 Electron 是最好的。

nwjs 老版本?

github.com/weolar/miniblink49 ,文档说可以支持到 XP ,可以参考下

tauri

试试这个 github.com/tw93/Pake

[Electron 打包不支持 win7] 谁说不支持了?你不要盯着最最新版看啊 ... Electron 22.x 不行么

xp 是领导的无理要求,听听就好了。几乎没几个前端框架,还能支持那么老的内核版本,除非代码用 jq 手写。

既然你都已经给客户装上 Chrome 了,还管 “默认浏览器” 干什么呢?桌面新建一个快捷方式不就好了:chrome.exe --app=" www.hesudu.com/" 图标改成你们系统的图标,告诉他们用这个进管理系统

tauri 好像都不支持 win7

会有新用户,让技术员一个个帮忙安装很麻烦

换个思路,开发一个「启动器」,通过启动器打开 Chrome 并加载你们的系统,如果检测到没有安装 Chrome ,就给客户的电脑安装一个

新建 bat 文件:应用.bat内容: offstart chrome www.hesudu.com

op 就楼上说的 Electron 选个支持 win7 的旧版本打包就好了 没必要纠结

#11 找一个绿色版的 Chrome 相对来说要简单的多,打一个自解压的压缩包就行了

Electron 只引入打包后的 dist 即可,npm 模块都可以抛弃,真正的代码,除了 Electron 自身的内核,只有 dist 的内容而已,而且打包出来是 exe 支持 next 的安装很方便

找人写一段 bat 脚本,用来自动下载安装 chrome 并且设置一个 9 楼说的快捷方式,告诉用户这就是安装好以后的软件入口。或者你复杂一点做一个安装器,把上面的事情一条龙一下也可以。给 Angular 再套一层那不是 s 上套 s 吗?给自己找不痛快?

使用 electron ,加载你们的网址,一个包 60 兆。我现在公司就是这么做的

所以你为什么不用 electron 。。。

electron 老板本是只吃 win7 的,你一个套壳难道还必须要用最新版?

楼上说的对 你找个旧版 electron 最好了

也可以用 qt webengine 组件

electron 直接用就完事了。想要体积小,也只能给 win10 用。至于性能,都用网页了就别考虑浏览器的性能了。你想跑 xp 上,就试试 miniblink 能不能用吧,我以前用,比正常的新版本浏览器少很多特性,代码要改,不知道你们项目能不能正常运行。

更推荐启动器的方式,用不依赖运行时的技术写,没有 chrome 就下载一个(绿色版的放你们自己服务器),然后新建一个桌面快捷方式就完事了.因为个人感觉这个成本最低.其他的比如封装 cef 或者 electron 都行,但是成本相对高一点

对,搞个云服务的 cdn 分发客户端加速

"不能用扫描进程的方法,没办法确定不是用户点的,最好是无感让这类软件失效"---------------1.不能扫描进程的方法。其实这是一个低成本的方法,的确可以挡住一批人,但对抗也很容易,隐藏进程/改进程名/加壳/改特征值等等 :(2.确定是不是用户点的。这点比较难,需要 win 驱动开发和安全对抗,至少是和按键精灵(一般带驱动)、鼠标和键盘的硬件驱动等对抗才行,可以放弃这个需求 :(3.无感失效。这个比较好实现,只要能检测到,正常开发功能就行。但对方可以破解你的 EXE ,不过只要网上没公开的破解版,那很大一部分人就不会用到破解版 :)----------------如果领导不批足够预算,可以考虑放弃这方面的需求 :)

提供一个思路,用 github.com/go-rod/rod 写个程序,可以自动下载 chromium (可以指定版本),打开你们官网

提供一个思路,有个叫 miniblink 的东西,你可以跟这个带佬聊一下

觉得这个好

最最最简单的,网页检测一下浏览器啊, 如果不是 chrome ,直接提示不支持此浏览器, 然后转跳下载浏览器或下载你定制打包的浏览器页面啊

#28 搜了一下,结果出来了知乎这两条,离谱。

miniblink 有 electron xp 兼容版本 miniblink.net/views/exhance.html