Wie behebe ich unvollständiges Web-Styling in Compose WebView?Android

Forum für diejenigen, die für Android programmieren
Anonymous
 Wie behebe ich unvollständiges Web-Styling in Compose WebView?

Post by Anonymous »

Ich entwickle eine Android-App mit Jetpack Compose und plane die Implementierung einer integrierten Webbrowserfunktion. Unten ist mein Basiscode. Ich habe festgestellt, dass mein Code beim Zugriff auf die meisten Websites normal funktioniert (sowohl im Stil als auch im Layout). Beim Besuch von m.bilibili.com wird das Styling jedoch nicht vollständig geladen. Ich habe es auch mit dem Systembrowser auf meinem Samsung S24 getestet und es wird korrekt angezeigt.
Beim Debuggen habe ich festgestellt, dass beim Laden der Webseite mit WebView keine 4 Stylesheet-Dateien angefordert werden, und ich habe keine Ahnung, warum.
Wie muss ich meinen Code ändern, damit er korrekt angezeigt wird?
Hier sind die Ergebnisse, wenn ich mit meinem WebView und dem integrierten Browser des Telefons auf die Website zugreife bzw.:
Image

Image


Code: Select all

@Composable
fun WebViewPage(
) {
println("[recomposable] - WebViewPage")

var webViewSource: WebView? by remember { mutableStateOf(null) }

LaunchedEffect(Unit) {
delay(2000)
webViewSource!!.loadUrl("https://m.bilibili.com/")
}

AndroidView(
modifier = Modifier
.fillMaxSize(),
factory = { context ->
webViewSource = WebView(context).apply {
CookieManager.getInstance().setAcceptThirdPartyCookies(this, true)

settings.javaScriptEnabled = true
settings.domStorageEnabled = true
settings.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW
settings.loadsImagesAutomatically = true

webViewClient = object : WebViewClient() {

}

loadUrl("about:blank")
}
webViewSource!!
},
update = { webView ->
}
)

}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post