【问题标题】:Android +1 button in WebViewWebView 中的 Android +1 按钮
【发布时间】:2011-10-18 20:13:11
【问题描述】:

我尝试使用他们描述的方法将 Google 的 +1 按钮放入 WebView。我已将 WebView 初始化如下:

final WebView web = (WebView)findViewById(R.id.webView);
web.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setSavePassword(false);
web.getSettings().setBuiltInZoomControls(false);
web.getSettings().setUseWideViewPort(true);
web.getSettings().setLoadWithOverviewMode(true);
web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
web.setHorizontalScrollBarEnabled(false);
web.setBackgroundColor(0xff2e2e2e);
web.loadDataWithBaseURL(null, htmlCodeGoesHere, "text/html", "utf-8", null);

还有html代码:

<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<g:plusone href="http://stackoverflow.com"></g:plusone>

问题是……按钮根本不显示。

我该如何解决?顺便说一句 - 我还希望按钮启动一个新窗口,而不是使用 WebView。有没有简单的解决办法?

谢谢

【问题讨论】:

    标签: android webview google-plus-one


    【解决方案1】:

    问题在于 WebView 中的权限系统。本地文件中的脚本在访问外部资源时遇到问题。解决方案是让 WebView 认为本地代码是从外部网站加载的。

    web.loadDataWithBaseURL("http://fake.com", htmlCodeGoesHere, "text/html", "utf-8", null);
    

    该按钮会出现,但不幸的是它在 WebView 中无法正常工作。

    【讨论】:

      【解决方案2】:

      我对 WebView 没有太多经验,但是按钮根本没有显示,这听起来可能是您的 layout/main.xml 文件中的问题。你看过这个了吗?

      另外,对于启动新窗口的按钮,我认为可以附加一个 setOnClickListener,一旦完成,只需将其视为一个按钮,然后打开一个新窗口。我希望这是可能的。

      【讨论】:

      • 您的回答根本没有帮助。布局没有问题,很容易检查。 WebView 用于使用 webkit 渲染 HTML 网站,因此很容易检查它是否正在显示。至于按钮,它是WebView内部的按钮。没有办法给它附加任何监听器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-03
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多