WebView不能显示网页的全部内容。

3
我想使用Android WebView展示此网页,但WebView没有显示完整的页面内容。
我已启用JavaScript,但仍有一些项目未出现:
public class MyCustomListView extends Activity {

    private WebView webView;
    private Button refresh;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_custom_list_view);




        webView = (WebView) findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebChromeClient(new WebChromeClient());
        webView.loadUrl("http://192.168.1.60/george-steuart/van/drawWeb?wuid=40da9b9ed74f672c3871d76a2c87857b");



        webView.setWebViewClient(new WebViewClient() {

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;

            }
        });

        refresh = (Button) findViewById(R.id.btn_back);

        refresh.setOnClickListener(new View.OnClickListener() {
            public void onClick(View mView) {
                webView.loadUrl("http://192.168.1.60/george-steuart/van/drawWeb?wuid=40da9b9ed74f672c3871d76a2c87857b");

            }
        });


    }

    }

你是在手机上测试还是模拟器上测试? - undefined
你说的“某些项目不显示”具体指什么?能否详细解释一下或者贴一些截屏呢? - undefined
这可能是你的网页设计师使用了一个你设备浏览器无法理解的jQuery/JS代码,导致它停止解析完整的HTML代码的原因。 - undefined
4个回答

0

使用以下代码,它可以工作。

private ProgressDialog progDailog;
progDailog = ProgressDialog.show(MyCustomListView.this, "Loading",
                "Please wait...", true);
progDailog.setCancelable(false);
    WebView webView = (WebView) findViewById(R.id.webView1);
            webView .getSettings().setJavaScriptEnabled(true);
            webView .getSettings().setLoadWithOverviewMode(true);
            webView .getSettings().setUseWideViewPort(true);        
            webView .loadUrl("http://192.168.1.60/george-steuart/van/drawWeb?wuid=40da9b9ed74f672c3871d76a2c87857b");
            // following lines are to show the loader untile downloading
            // file for view.
            webView .setWebViewClient(new WebViewClient() {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    progDailog.show();
                    view.loadUrl(url);
                    return true;
                }          

                @Override
                public void onPageFinished(WebView view, final String url) {
                    progDailog.dismiss();
                }
            });

我找到了答案... 问题是一个JavaScript变量在Web视图中不起作用,我们的网页开发人员解决了这个问题... - undefined
我发布了我的答案。我们已经修复了,谢谢你的帮助。 - undefined

0
function getField() {
    id++;
    document.getElementById("hide").value = id;
    $('#tbl1').append(
            '<tr id="select_row_' + id + '">'
            + '<td><img algn="center" src="' + URL + '../../../public/images/add.png" width="30" height="30" alt="add" id="addrow_' + id + '" onclick="getField();" /></td>'
            + '<td><input type="text" style="border-radius: 5px;height: 35px;width: 200px" id="item_name_' + id + '" placeholder="Select Item" autocomplete="off" onfocus="getMaterial(' + id + ')" ></td>'
            + '<td><input type="text" style="border-radius: 5px;height: 35px;width: 100px" name="qty_' + id + '" id="qty_' + id + '" placeholder="Input Quantity"></td>'
            + '<td><img src="' + URL + '../../../public/images/remove.png" id="addrow_' + id + '" onclick="remove_data_row(' + id + ');" width="20" height="20" alt="add"/></td>'
            + '<input type="hidden" id="iid_' + id + '" name="iid_' + id + '"/>'
            + '</tr>'
            );
}

这是 JavaScript 代码。URL 变量在网页浏览器上有效,但在 WebView 中无效。Web 开发人员更改了它并提供了绝对路径。现在它有效。


试一下,有些JavaScript在Web视图中无法正常工作。 - undefined

-1

使用服务器而不是在局域网上进行检查


-1

请确保在清单文件中授予互联网权限


-1 是因为 OP 只显示了问题的一半内容。所以当然,OP 添加了那个权限。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接