首页 > 解决方案 > Chrome 扩展程序是否可以在 Flutter Web 应用程序的运行时添加/删除小部件?

问题描述

这与使用 Chrome 扩展程序创建 Flutter UI 不同。这确实是可能的,并且能够在搜索引擎结果的第一页上得到证实。

我想知道 Chrome 扩展是否可以针对以下用例修改使用 Flutter 构建的网站:

这个 Flutter Web App 有一个新闻源,我希望编写一个 Chrome 扩展程序来删除包含我不感兴趣的文本/关键字的元素/小部件。

基本上,Chrome 扩展是否可以在 Flutter Web 应用程序的运行时添加/删除通过文本区分的小部件?

标签: fluttergoogle-chrome-extensionflutter-web

解决方案


简短的回答:没有。长答案:有很多时间和工作是可能的,但可能不值得做,不应该被认为是一个可行的用例。

对于一个典型的 html/css/js 应用程序,使用 js 的 web 扩展可以很容易地简单地修改网页的 html 和 css,立即删除元素。

对于 Flutter Web 应用程序,所有 dart 代码都编译为 js,用于在页面上绘制单个 HTML 元素。所以必须修改js文件而不是html或css。

dart 代码被编译为 js 的事实意味着,从技术上讲,它应该仍然可以在客户端使用 Chrome 扩展程序进行修改。Chrome 扩展可能会使用 chrome.scripting 来复制和注入修改后的 js 文件,或者使用 chrome.declarativeWebRequest 将下载的 js 文件替换为修改后的文件。

查找要修改的 js 可能很困难,但如果源映射可用,它可能会更容易。

使用 Chrome 扩展修改 Flutter 应用程序介于两者之间:

  • 修改视频游戏以包含额外的菜单或一些有用的 UI 或修改的资产或游戏中的角色行为(尽管没有内存注入,而不是修改统一网络应用程序或统一或一般的虚幻)
  • 使用 Web 扩展来修改典型的 Web 应用程序。

总体而言,使用 Chrome 扩展程序(或与 Web 应用程序开发人员合作之外的任何其他方式)修改 Flutter Web 应用程序将非常困难,并且可能不值得付出努力。


推荐阅读