JavaScript 在 Android Webview 中不起作用?

标签 javascript android webview

我正在尝试制作一个相对简单的 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/

相关文章:

javascript - 为什么我的背景图片这么大而且拉长了?

javascript - 如何使用 Jquery/Javascript 引用同级框架?

javascript - 字数计数器可以工作,但逗号和句号有问题

java - 调试:设备已连接但没有帧可用

iphone - 移动 Web 应用程序和 Facebook Connect 的空白屏幕

ios - 如何在 iOS 6 的不同 View 中加载 Web View

javascript - nicEdit 文本区域名称进行检查

android - 将 ParseLoginUI 作为模块导入时出现错误 :Execution failed for task ':app:dexDebug' .

android - 使用 Fresco Library 播放一次 Gif

c# - 如何在 Xamarin Forms 中使用 pdf.js 查看 PDF