Predidit
Predidit
已经在主分支移除
看上去和 windows 平台的状况类似, 这些平台的模拟 User Script 支持相当不可靠
我不知道 ohos 平台中有没有原生 User Script 支持, 如果有的话, 那应该是最终解决方案
@KotaHv 我在查看 inappwebview 文档时注意到一个问题, UserScript 似乎会在 webview 后续加载的其他网页中继续生效. 考虑到我们注入的时机是 loadUrl , 这是否会导致每次切换选集时的重复注入, 这种重复注入是否会影响更换分集时的解析.
RegisterJavaScriptProxy 方法看上去更像是用来桥接, 而不是在所有 iframe 中执行特定用户脚本, 我不知道能否使用他来进行跨 iframe 的注入. 其次华为这部分的文档看上去相当暧昧, 完全没有提到 iframe 的跨域问题, 正常的浏览器安全策略对跨域和非跨域 iframe 的态度是完全不同的.
@KotaHv 这个错误是 blob 解析脚本导致的, 其中的主要变量被声明为不可变, 在脚本被重复执行时尝试为不可变量重新赋值而抛出了错误 我们是否应该考虑修改 UserScript 的注入时机以解决重复注入的问题
> 可能不是注入时机的问题, _observer的注入时机是AT_DOCUMENT_END,可能是在iOS、macOS平台上之前注入的变量仍然存在于 JavaScript 上下文中? 可以通过在unloadPage里添加 await webviewController!.removeAllUserScripts();解决 是的, 我上面的意思就是 UserScript 在 webview 的整个生命周期都是存在的, 并不会随着网页的重新加载而被移除, 上面的注入时机指的是我们要不要考虑在 webview 初始化时, 而不是加载网页时注册 UserScript await webviewController!.removeAllUserScripts(); 听上去不错, 你可以测试这个实现吗, 主要测试有无控制台报错, 以及选集更换的问题
> 那看上去主要还是 ohos 的 webview 的问题了,不知道为什么反而只有 girlgirllove 可以正常解析了 我怀疑可能是 webview 内部的安全策略问题, 正常情况下, CORS 会阻止我们对非同源 iframe 的一些操作 girigirilove 的情况比较特殊, 他的 iframe 域名和网页域名是相同的, 但是子域名不同 正常情况下 webview 应该判定这是非同源 iframe , 可能华为的 webview 认为这是同源的,...
需要先卸载 1.7.7 Flutter 官方在上个版本中犯了一个错误,导致上个版本的版本号填充不正确,导致系统认为正确的 1.7.8 版本的内部版本号比 1.7.7 要低,然后系统认为我们在试图降级应用并阻止了这种操作
这个问题之前尝试过解决,但一直没有定位到原因 这个问题的触发条件是 windows10 + msix windows11 并没有这一问题,目前 windows10 已经被微软停止支持,优先考虑迁移到 windows11