我想让webview加载javascript,但不能在API 15中工作。我已经在API 21上进行了测试,并且工作正常。有人知道怎么让它工作吗?谢谢
public class MainActivity extends AppCompatActivity {
private WebView view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view = (WebView) this.findViewById(R.id.webView);
view.getSettings().setJavaScriptEnabled(true);
view.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
view.setWebViewClient(new MyBrowser());
view.loadUrl("http://mywebsite.com");
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && view.canGoBack()) {
view.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
发布于 2017-08-11 10:23:55
只有当你想加载与原始url不同的url或者根本不加载url时,方法shouldOverrideUrlLoading(WebView view, String url)
才必须返回true
。在这种情况下,可以返回false并以通常的方式加载url。如果您的页面通过加载'javascript:‘链接来执行JS,则可以为所有urls返回以javascript:
开头的false
。注意,在SDK 24+上,调用的是shouldOverrideUrlLoading(WebView视图,WebResourceRequest请求)。
https://stackoverflow.com/questions/45629105
复制相似问题