【问题标题】:Android Webview Javascript won't workAndroid Webview Javascript 不起作用
【发布时间】:2018-11-09 06:25:16
【问题描述】:

我的列表视图中显示了推文列表。我在我的列表视图上设置了一个监听器,它应该将用户带到特定的推文。

我名单上的听众如下:

 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            Intent intent = new Intent(TweetActivity.this, WebActivity.class);

            intent.putExtra("url", String.valueOf(twitterBaseURL+tweetResult.get(i).getId()));
            startActivity(intent);
        }
    });

在我的网络活动课程中,我正在做以下事情:

String url = getIntent().getExtras().getString("url");
WebView webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setDomStorageEnabled(true);
webView.loadUrl(url);

在网络视图中,它不会像在移动设备上的谷歌浏览器中那样加载页面。我认为 javascript 无法正确加载。

更新 1:

我正在使用 API 21 的 android 设备上对此进行测试。在我的 android studio 中,我有一个使用 API 23 的虚拟设备。在 API 23 中,这可以正确加载所有内容。我使用 API 21 创建了另一个虚拟设备,并进行了双重检查,所以问题出在 API 级别。此代码在 API 23 中有效,可在 Web 视图中正确加载 URL,但在 API 21 中无效?

【问题讨论】:

    标签: javascript android twitter webview


    【解决方案1】:

    启用 JavaScript

    JavaScript 默认在 WebView 中被禁用。您可以通过 WebView 附加的 WebSettings 启用它。您可以使用 getSettings() 检索 WebSettings,然后使用 setJavaScriptEnabled() 启用 JavaScript。

    例如:

    WebView myWebView = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    myWebView.loadUrl("file:///android_assets/your_page.html");
    

    【讨论】:

    • 如果您能看到我的代码,我已启用此功能。其次,你能看看我的问题中的更新吗?我刚刚更新了它。
    【解决方案2】:

    看看this,尽管讨论的问题是 react-native。

    最后提到的一点是关于尝试在真正的 Android 设备上运行。确实有时 Android 模拟器无法按预期工作。

    所以我建议首先使用 API 21 在真正的 android 设备上测试您的代码

    【讨论】:

    • 感谢您的回复。这就是我要说的,它既不能在模拟器上工作,也不能在具有 API 21 的真实设备上工作。除了 API 21 之外,它工作正常
    猜你喜欢
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 2014-07-31
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    相关资源
    最近更新 更多