最近在做浏览器扩展开发,遇到一个问题就是浏览器扩展桌怎么和桌面应用通信
使用的是扩展内置的 fetch 没有跨域限制
目前使用的方法是,扩展和应用约定端口,但是一个问题就是端口可能被占用,需要切换端口
但是应用切换了端口,怎么通知浏览器扩展,浏览器扩展没有权限访问访问系统文件,
所有没办法将端口写入文件然后扩展通过读取文件实现
![]() | 1 AV1 2024-06-21 19:44:36 +08:00 via Android 两边约好,多设定几个端口号,一个被占用了就换下一个。 |
![]() | 2 codehz 2024-06-21 19:47:40 +08:00 |
3 molika 2024-06-21 20:00:47 +08:00 via iPhone 老哥知道浏览器插件怎么集成 webpush 吗 |
![]() | 4 tyzandhr 2024-06-21 21:06:21 +08:00 via Android Safari extension 的话,是可以通过 bridge 通信的,不清楚是否是通用规范 |
![]() | 5 Znemo 2024-06-22 01:59:55 +08:00 没写过扩展,不知道是否可行。我想是否可以让桌面应用启动服务后,主动打开浏览器的一个的标签页,表现是一个连接扩展的样子,其实页面中携带了本地的端口信息,然后扩展就知道了。 |
6 vituralfuture 2024-06-22 04:12:13 +08:00 via Android 设置一个特殊路径返回一个特殊而且固定的数据,用来辨认桌面应用,扩展从某个端口号开始不停尝试,失败了就端口号+1 |
7 tairan2006 2024-06-22 17:26:46 +08:00 via Android 没写过扩展,但是如果支持 udp 广播的话其实挺简单的 |
![]() | 8 fangjue 2024-06-22 19:16:01 +08:00 |