flutter 可以套壳 webview 并兼容 chrome 扩展吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Mistsink
V2EX    程序员

flutter 可以套壳 webview 并兼容 chrome 扩展吗

  •  
  •   Mistsink 2024-11-27 11:39:10 +08:00 2670 次点击
    这是一个创建于 392 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,想做一个套壳 webview 的 app ,选用 flutter 是想做到跨平台,同时应该会有少量的界面,所以相较 RN 可以避免适配 UI 。兼容 chrome 扩展应该是很困难了,不过也不晓得有没有这样的实现方案。主要是想兼容 adblock 这种广告拦截的扩展。大佬们有没有什么经验呢?

    24 条回复    2024-12-02 11:36:35 +08:00
    ybz
        1
    ybz  
    PRO
       2024-11-27 11:45:06 +08:00
    可以兼容 chrome 拓展,也不是特别困难。目前 flutter 做 web 坑的是中文字体过大,没有缓存的话加载字体要好几秒,字体加载出来前中文显示就是个 xx ,当然也可以加载完字体在显示界面,就是得 loading 好几秒。
    shadowyue
        2
    shadowyue  
       2024-11-27 11:48:02 +08:00
    webview 里边甚至还能运行你自己做的这个 flutter 应用?套娃了
    Shanky
        3
    Shanky  
       2024-11-27 11:55:21 +08:00
    RN 也能套 webview 吧
    另外 RN 还能蹭 react 的框架和包不必 flutter 那点生态好么
    musi
        4
    musi  
       2024-11-27 12:42:28 +08:00
    ios 不行,只能跑 safari
    debuggerx
        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/
    Mistsink
        6
    Mistsink  
    OP
       2024-11-27 16:47:57 +08:00
    @debuggerx 是滴,我也看过这个库,不过好像没有现成的库,得自己去实现 adblock 的那一套规则,感觉会是很大的工作量了 hhh
    Mistsink
        7
    Mistsink  
    OP
       2024-11-27 16:48:44 +08:00
    @musi 哦哦,这样呐?! iOS 套壳 webview 都不行的?!
    Mistsink
        8
    Mistsink  
    OP
       2024-11-27 16:49:13 +08:00
    @shadowyue hhhh 那太夸张了
    Mistsink
        9
    Mistsink  
    OP
       2024-11-27 16:52:24 +08:00
    @Shanky 哥,RN 中有啥框架能比较好用不,我这儿还没想好咋实现,目前最大的困难就是 app 里面塞进去个 webview 吧,然后 web view 里面还能用 adblock
    Mistsink
        10
    Mistsink  
    OP
       2024-11-27 16:52:37 +08:00
    @ybz 这也太夸张咯
    Shanky
        11
    Shanky  
       2024-11-27 16:57:47 +08:00
    @Mistsink #9 Tailwind/Nativewind
    我们上一个项目一部分功能就是 webview 内实现的,不过 adblock 倒是没试过
    Mistsink
        12
    Mistsink  
    OP
       2024-11-27 17:13:13 +08:00
    @Shanky 哥有没有什么推荐的空白模版呐?没接触过 RN ,不太懂这边的最佳实践呢。对于 adblock ,搜了一圈也没找到现成的库
    Shanky
        13
    Shanky  
       2024-11-27 17:20:20 +08:00
    xlLee
        14
    xlLee  
       2024-11-27 17:21:40 +08:00
    上周刚做了嵌套 webview ,此方面的结论是 android 、ios 可以,win 平台要单独处理且电脑要支持 win10 、11 下面的 webview2
    Mistsink
        15
    Mistsink  
    OP
       2024-11-27 17:26:21 +08:00
    @Shanky 好滴哥
    Mistsink
        16
    Mistsink  
    OP
       2024-11-27 17:27:08 +08:00
    @xlLee 好滴哥,PC 这块,Mac 那边还需要单独处理吗
    xlLee
        17
    xlLee  
       2024-11-27 17:32:13 +08:00
    @Mistsink 当时我只需要一天内搞定这三个端,没有延申其他端实验
    Mistsink
        18
    Mistsink  
    OP
       2024-11-27 17:32:58 +08:00
    @xlLee 这么猛吗?!一天干这么多
    Lukedis
        19
    Lukedis  
       2024-11-27 22:12:54 +08:00
    @xlLee 套壳 app 有没有成功上架 app store
    aloxaf
        20
    aloxaf  
       2024-11-28 00:31:09 +08:00
    @Mistsink #10 他这个说的是 flutter 做 web app 。因为自绘要拿到字体数据,而浏览器相关 API 还没稳定,所以只能从外部加载,确实很蛋疼……
    xlLee
        21
    xlLee  
       2024-11-28 09:14:27 +08:00
    @Lukedis 只是给内部使用
    Mistsink
        22
    Mistsink  
    OP
       2024-11-28 09:45:26 +08:00
    @aloxaf 嗷嗷这样呐,那咱应该没这个困扰
    1una0bserver
        23
    1una0bserver  
       2024-12-01 21:39:40 +08:00 via Android
    你直接打包个 gecko 内核做 Webview 算了,原生支持扩展,不过不是 chrome 的
    Mistsink
        24
    Mistsink  
    OP
       2024-12-02 11:36:35 +08:00
    @1una0bserver 那不是 IOS 那边就用不了了?最近我试了下 RN ,没法对所有网络请求进行拦截。就像网页里的图片、js 文件等等,没法拦截到这些请求和响应。这种是不是需要在里面写原生呐?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2812 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 00:24 PVG 08:24 LAX 16:24 JFK 19:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86