JavaScript WebView работает только на версии Android 8.0 - PullRequest
0 голосов
/ 30 апреля 2018

Я работал над приложением, использующим WebView на Android Studio, и застрял на кнопке, чтобы открыть и закрыть окно (div) с HTML, CSS и JavaScript. Проблема в том, что функция кнопок хорошо работает только в версии Android 8.0 (эмулятор Genymotion), и я не знаю, почему это происходит, потому что некоторые другие функции работают нормально.

Пример кода:

HTML

Кнопка:

<button onclick="open_window()" class="button_template">ABC</div>

DIV, чтобы открыть:

<div class="window_template" id="window_1">12345</div>

Стиль CSS:

.window_template{
    background-image: url(sample.jpg);
    opacity: 0.9;
    border: 2px solid black;
    text-align: center;
    margin: 0 auto;
    box-sizing: border-box;
}
.button_template {
   color: white;
   font-family: Arial;
   font-size: 105%;
   background-color: transparent;
   border: none;
   cursor: pointer;

} 
window_1{
   width: 80%;
   height: 35%;
   position: absolute;
   display: none;
}

JavaScript:

function open_window(){
    document.getElementById("window_1").style.display="block";
}

Основная деятельность:

package sample.sampla;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN );
        setContentView(R.layout.activity_main);
        WebView myWebView = (WebView)findViewById(R.id.webView1);
        WebSettings mySettings = myWebView.getSettings();
        myWebView.setWebChromeClient(new WebChromeClient());
        myWebView.setWebViewClient(new WebViewClient());

        mySettings.setDomStorageEnabled(true);
        mySettings.setJavaScriptEnabled(true);


        myWebView.loadUrl("file:///android_asset/www/index.html");

    }
}

Ведь DIV не открывается.

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