KevinnZou / compose-webview-multiplatform

WebView for JetBrains Compose Multiplatform
https://kevinnzou.github.io/compose-webview-multiplatform/
Apache License 2.0
305 stars 39 forks source link

现在没法实现动态改变WebSettings #142

Open lov3blacksilk opened 3 weeks ago

lov3blacksilk commented 3 weeks ago
val userAgent by viewModel.userAgent.collectAsStateWithLifecycle()
val state = rememberWebViewState(url = viewModel.toUrl(input))
state.updateWebSettings(
    WebSettings(
        customUserAgentString = covertToUserAgent(userAgent)
    )
)

userAgent会随着设置项动态变化,这时候web没法动态刷新

KevinnZou commented 3 weeks ago

@lov3blacksilk 你是需要在初始加载完成后再动态修改userAgent吗?在目前的设计下,customUserAgentString在WebSettings中注入后,便会在WebView初始化时传递给各个平台的webview,然后就无法更改了。

lov3blacksilk commented 3 weeks ago

@KevinnZou 是的,不只是userAgent需要动态变化,一般浏览器都是多tab的,而且会有一个工具箱

  1. 每一个tab都会对应一个webview,所以会有动态切换weview的需求
  2. 因为工具箱的存在,所以针对已经打开的网页有动态切换webSettings的需求