gpt4 book ai didi

Javascript 不适用于 webview

转载 作者:行者123 更新时间:2023-11-29 21:42:36 25 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,但我在使 javascript 工作时遇到了麻烦。这是我的主要 Activity 代码:

    protected void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "create LocalDialogActivity");

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_local_dialog);

webView = (WebView)findViewById(R.id.local_dialog_webview);
webView.setWebChromeClient(new WebChromeClient());

webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);

webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDisplayZoomControls(false);

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);


}
}

private class WebAppInterface {
@JavascriptInterface
public void validate() {
//do some action...
}

@JavascriptInterface
public void cancel() {
//do some actions...
}
}

这是我的 html 代码:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../css/style.css">
<script src="../js/myjavascript.js"></script>
</head>
<body>


<section id="header">
</section>


<section id="buttons">
<button class="button" id="no" onclick="cancel()">cancel</button>
<button class="button" id="yes" onclick="validate()">validate</button>
</section>

<footer id="footer">
</footer>
</body>

</html>

当我点击我的按钮时,函数 validate() 和 cancel() 不起作用。

这是我的 javascript 代码:

function validate() {
Interface.validate();
}

function cancel() {
Interface.cancel();
}

Interface 是我的 Android 代码中的 javascriptInterface。

欢迎提出任何想法。

最佳答案

只需添加

webView.getSettings().setDomStorageEnabled(true);

关于Javascript 不适用于 webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32251446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com