首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何启用API 15的javascript webview

如何启用API 15的javascript webview
EN

Stack Overflow用户
提问于 2017-08-11 07:14:10
回答 1查看 283关注 0票数 1

我想让webview加载javascript,但不能在API 15中工作。我已经在API 21上进行了测试,并且工作正常。有人知道怎么让它工作吗?谢谢

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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);
}
}
EN

回答 1

Stack Overflow用户

发布于 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请求)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45629105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文