我正在尝试制作一个相对简单的 iOS 应用的 Android 版本,它使用 web View 、一些按钮,然后依赖于对 CMS 的 javascript 调用。
但我被困在一个相当早期的开发阶段:webview 不能与 javascript 一起使用。我已经阅读了很多关于如何在 Android webview 中启用 JS 的帖子,但到目前为止还没有运气。
下面是我的一些代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new HelloWebViewClient()
{
@Override
public void onPageFinished(WebView view, String url)
{
//Calling an init method that tells the website, we're ready
mWebView.loadUrl("javascript:m2Init()");
page1(mWebView);
}
});
mWebView.loadUrl("http://my_url/mobile/iphone//app.php");
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
public void page11(View view)
{
mWebView.loadUrl("javascript:m2LoadPage(1)");
}
我在这里做错了什么? 该 URL 在我的 iOS 应用程序和浏览器中运行良好。 但不在我的应用程序中!
请告诉我这很明显......
最佳答案
已修复! 受到错误的刺激,我发现我需要设置
setDomStorageEnabled(true)
用于 webview 设置。
感谢您的帮助斯蒂芬 :)
关于JavaScript 在 Android Webview 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7548172/