【问题标题】:Loading https page in webview在 webview 中加载 https 页面
【发布时间】:2015-05-03 07:42:16
【问题描述】:

我正在尝试在webview 的应用程序中显示https://plus.google.com/myprofilepage(忽略我刚刚编写的myprofilepage 部分,在代码中将其替换为我的实际个人资料页面)页面。问题是应用程序没有显示任何内容,之前我只尝试了http://www.google.comhttps://www.google.co.in 并且它有效。

没有创建日志,因此无法获取它们。我确实连接了 Internet,并且 AndroidManifest.xml 也具有 INTERNET 权限。

我希望在 WebView 中显示 google plus 页面只是我的基本要求,我想我缺少加载 google plus 所需的东西。有人可以帮忙吗?

targetsdkversion 是 21。

下面是我的代码:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_about_developer, container, false);
        //String url = getActivity().getResources().getString(R.string.about_page);
        String url="https://plus.google.com";
        WebView webView = (WebView) v.findViewById(R.id.devwebView);
        webView.setWebViewClient(new WebviewHandler());
        webView.setInitialScale(1);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setUseWideViewPort(true);
        webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webView.setScrollbarFadingEnabled(false);
        webView.loadUrl(url);
        return v;
    }

    private class WebviewHandler extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onReceivedSslError(final WebView view, final SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
    }

【问题讨论】:

    标签: android webview https android-webview webviewclient


    【解决方案1】:

    Google+ 使用大量 javascript,请使用 webView.getSettings().setJavaScriptEnabled(true); 启用它。为我工作

    【讨论】:

    • 我之前尝试过...我可以看到 www.google.com 但 plus.google.com 无法正常工作。
    【解决方案2】:

    +1 拉莫拉克所说的话。启用 JavaScript 是必须的。这是所需的最少代码(除了具有INTERNET 权限):

    WebView webView = (WebView)findViewById(R.id.webView);
    // This is to avoid "Open with..." dialog for the G+ page.
    webView.setWebViewClient(new WebViewClient());
    WebSettings settings = webView.getSettings();
    // Enable JavaScript.
    settings.setJavaScriptEnabled(true);
    // The two lines below are to enable interpreting <meta viewport> tag.
    settings.setUseWideViewPort(true);
    settings.setLoadWithOverviewMode(true);
    webView.loadUrl("http://plus.google.com/...");
    

    【讨论】:

    • 我之前尝试过...我可以看到 www.google.com 但 plus.google.com 无法正常工作。
    • @Ranjith:这很有趣。你可以试试调试这个。设置您的应用程序,使其成功加载 www.google.com,然后按照此处的步骤操作:developer.chrome.com/devtools/docs/… 并在成功将 DevTools 附加到您的应用程序后,打开“控制台”选项卡,输入 window.location.href='http://plus.google.com/...'(您正在尝试的 url使用),在 DevTools 中打开“网络”选项卡并检查您的网络请求发生了什么。
    猜你喜欢
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    相关资源
    最近更新 更多