import win.ui; /*DSG{{*/ var winform = win.form(text="浏览器本地消息主机";right=759;bottom=469;parent=...) winform.add() /*}}*/ import web.form; var wb = web.form( winform,5/*_UIFLAG_DIALOG*/,,,true); wb.noScriptErr = true; import process; wb.html = /**
浏览器本地扩展分为两部分: 1、aardio 实现的消息服务端可多线程收发消息,且实现了简洁的单线程异步开发接口。 2、浏览器里用 JS,HTML 编写的扩展程序,实现 Native messaging 客户端。 发布步骤: 1、运行发布后的 EXE 自动安装消息服务端。注意要配置允许调用此 EXE 的浏览器扩展 ID。 安装未打包扩展会动态生成扩展 ID,可直接指定扩展目录并自动计算 ID。示例:标准库 fsys.crx 实现了 crx 扩展打包、解包、签名等功能。 **/ winform.getTemplatePath = function(){ return io.fullpath("/template/web/native-msg/") } winform.show(true); win.loopMessage(); return winform;2、在浏览器扩展管理页面启用开发者模式可安装未打包的扩展(包含 manifest.json 文件的目录 )。 manifest.json 要如下启用 nativeMessaging 权限。web.nativeMessaging.install(
allowed_origins = {"\crx\nativeMessagingTest"}
){
"manifest_version": 3,
"permissions": [
"nativeMessaging",
"https://*/*"
]
}