如何为API 15启用javascript webview

时间:2017-08-11 07:14:10

标签: javascript android android-webview

我想制作加载javascript的webview,但不能在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);
}
}

1 个答案:

答案 0 :(得分:0)

方法shouldOverrideUrlLoading(WebView view, String url)必须返回true,仅当您要加载与原始网址不同的网址时,或者根本不加载网址false。在这种情况下,可以通常的方式返回false和加载URL。如果您的网页通过加载“javascript:”链接执行JS,则可以为所有网址返回javascript:,以{{1}}开头。请注意,在SDK 24+上,调用了shouldOverrideUrlLoading(WebView视图,WebResourceRequest请求)。