WebView中的Android +1按钮

时间:2011-10-18 20:13:11

标签: android webview google-plus-one

我尝试使用他们描述的方法在GoogleView中添加Google的+1按钮。我已按如下方式初始化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启动新窗口。有一个简单的解决方案吗?

由于

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

我对WebView不太熟悉,但按钮根本没有显示,听起来像是layout / main.xml文件中的问题。你看过这个了吗?

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