首页 > 解决方案 > WebView JavaScript 仅适用于 Android 8.0 版本

问题描述

我在 Android Studio 上使用 WebView 开发一个应用程序,并被困在一个按钮上,用 HTML、CSS 和 JavaScript 打开和关闭一个窗口(div)。问题是:按钮功能仅在 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没有打开。

标签: javascriptandroidcssandroid-studiowebview

解决方案


推荐阅读