gpt4 book ai didi

javascript - 如何为 API 15 启用 javascript webview

转载 作者:行者123 更新时间:2023-11-28 04:18:37 25 4
gpt4 key购买 nike

我想制作加载 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);
}
}

最佳答案

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

关于javascript - 如何为 API 15 启用 javascript webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45629105/

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