我在Android Webview中加载一个网页,其中包含几个按钮:
< button id =“ID”class =“class”type =“submit”> button lable< /按钮>
当你点击按钮时,也会有一个javascript被触发。
在Android早于4.4的设备上,一切正常。但在4.4上它什么也没做。
有没有办法解决这个问题并让它在android 4.4上运行?如果是的话,解决方案是什么?
这是webview cod
private void init() {
webview = (WebView) getView().findViewById(R.id.webview);
webview.clearCache(true);
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
currentUrl = url;
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return true;
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
});
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(startUrl);
}
如果我点击webview中的按钮
,这将是调用的javascript { window.open('<url which should be opened out of the app>');
self.location = "<webviewredirecturl>"; }
答案 0 :(得分:0)
根据我的测试,当你的项目目标是kitkat时,loadUrl方法行为会发生变化。 它不是能够在当前页面上执行加载,而是系统地使用您的url参数打开一个新页面。
对于我的情况,我将此网址发送到我已加载的网页webview:
javascript:showComment('Content html to add')
使用目标API 18,一切正常,目标API 19,错误。
有关使用kitkat她的更改的更多信息:
http://www.mobilexweb.com/blog/android-4-4-kitkat-browser-chrome-webview
此处类似的帖子: Loading javascript functions to webview in Android Kitkat