WebView не запущен JavaScript - PullRequest
0 голосов
/ 31 октября 2019

У меня есть фрагмент с WebView. Webview запускает ссылку, но только частично. Щелчки на кнопках не работают и часть интерфейса не загружается. У меня есть подобный код в другом приложении, и там все работает правильно.

class SomeFragment  {

    //Some code

    //This method invoke in onViewCreated
    override fun initView() {
       //some code
        initWebView()
    }

    //This method invoked by presenter
    //reference is correct, i checked it
    override fun updateView(reference: String, mimeType: String, encoding: String) =
        webView.loadData(reference, mimeType, encoding)

    @SuppressLint("SetJavaScriptEnabled")
    private fun initWebView() {
        webView.settings.javaScriptEnabled = true
        webView.settings.cacheMode = WebSettings.LOAD_NO_CACHE
        webView.settings.domStorageEnabled = true
        webView.webViewClient = CustomWebClient()
    }

    private inner class CustomWebClient : WebViewClient() {

        override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
            return if (url.contains("google")) {
                true
            } else super.shouldOverrideUrlLoading(view, url)
        }
    }
}

Это мой макет XML

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:clickable="true"
    android:focusable="true">

    <include
        android:id="@+id/toolbar"
        layout="@layout/view_header_toolbar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/toolbar" />

    <View
        style="@style/ShadowPopupHorizontal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/toolbar" />
</androidx.constraintlayout.widget.ConstraintLayout>

Это желаемый результат.

enter image description here

И вот результат

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...