
如题,想做一个套壳 webview 的 app ,选用 flutter 是想做到跨平台,同时应该会有少量的界面,所以相较 RN 可以避免适配 UI 。兼容 chrome 扩展应该是很困难了,不过也不晓得有没有这样的实现方案。主要是想兼容 adblock 这种广告拦截的扩展。大佬们有没有什么经验呢?
1 ybz PRO 可以兼容 chrome 拓展,也不是特别困难。目前 flutter 做 web 坑的是中文字体过大,没有缓存的话加载字体要好几秒,字体加载出来前中文显示就是个 xx ,当然也可以加载完字体在显示界面,就是得 loading 好几秒。 |
2 shadowyue 2024-11-27 11:48:02 +08:00 webview 里边甚至还能运行你自己做的这个 flutter 应用?套娃了 |
3 Shanky 2024-11-27 11:55:21 +08:00 RN 也能套 webview 吧 另外 RN 还能蹭 react 的框架和包不必 flutter 那点生态好么 |
4 musi 2024-11-27 12:42:28 +08:00 ios 不行,只能跑 safari |
5 debuggerx 2024-11-27 15:06:31 +08:00 1. 想直接兼容/支持 chrome 扩展应该是不可能的,据我所知 Webview 没有这种方案,ios 的 safari 更不可能了 2. 如果只是为了 adblock ,可以基于它的原理,支持它的规则,需要用到的差不多就是请求拦截和动态注入样式,这些倒是能通过 Webview 提供的能力做到,如果考虑用 Flutter 做跨平台可以试试 flutter_inappwebview 这个库,看文档的话是支持上述能力的,你可以参看他们提供的广告拦截器示例: https://github.com/pichillilorenzo/flutter_inappwebview_examples/tree/main/webview_ad_blocker/ |
6 Mistsink OP @debuggerx 是滴,我也看过这个库,不过好像没有现成的库,得自己去实现 adblock 的那一套规则,感觉会是很大的工作量了 hhh |
9 Mistsink OP @Shanky 哥,RN 中有啥框架能比较好用不,我这儿还没想好咋实现,目前最大的困难就是 app 里面塞进去个 webview 吧,然后 web view 里面还能用 adblock |
11 Shanky 2024-11-27 16:57:47 +08:00 @Mistsink #9 Tailwind/Nativewind 我们上一个项目一部分功能就是 webview 内实现的,不过 adblock 倒是没试过 |
12 Mistsink OP @Shanky 哥有没有什么推荐的空白模版呐?没接触过 RN ,不太懂这边的最佳实践呢。对于 adblock ,搜了一圈也没找到现成的库 |
13 Shanky 2024-11-27 17:20:20 +08:00 |
14 xlLee 2024-11-27 17:21:40 +08:00 上周刚做了嵌套 webview ,此方面的结论是 android 、ios 可以,win 平台要单独处理且电脑要支持 win10 、11 下面的 webview2 |
20 aloxaf 2024-11-28 00:31:09 +08:00 @Mistsink #10 他这个说的是 flutter 做 web app 。因为自绘要拿到字体数据,而浏览器相关 API 还没稳定,所以只能从外部加载,确实很蛋疼…… |
23 1una0bserver 2024-12-01 21:39:40 +08:00 via Android 你直接打包个 gecko 内核做 Webview 算了,原生支持扩展,不过不是 chrome 的 |
24 Mistsink OP @1una0bserver 那不是 IOS 那边就用不了了?最近我试了下 RN ,没法对所有网络请求进行拦截。就像网页里的图片、js 文件等等,没法拦截到这些请求和响应。这种是不是需要在里面写原生呐? |