在我的Android应用程序加载谷歌的搜索结果链接的网页流量,当我点击的链接,它打开了一个空白屏幕。
我认为,这是事做附有在结果页面的每个HREF链接onmousedown事件的事件。
如果我提供了一个方法来处理这个问题,让web视图实际的OpenUP,我点击链接将非常感激。
在我的Android应用程序加载谷歌的搜索结果链接的网页流量,当我点击的链接,它打开了一个空白屏幕。
我认为,这是事做附有在结果页面的每个HREF链接onmousedown事件的事件。
如果我提供了一个方法来处理这个问题,让web视图实际的OpenUP,我点击链接将非常感激。
我有同样的问题。 我得到了“有关:空白”页面,当我点击谷歌搜索结果中运行4.1.1在我的华硕变压器TF700网页视图。 它不会在我的宏碁A100平板电脑或其他手机发生。
我注意到的结果链接工作时,我在主谷歌搜索页面底部的平板切换到经典版本。
https://www.google.com/?nota=1
如果删除?诺塔= 1在上面的网址,你不会看到在您的PC平板选项。 在平板电脑但是默认google.com URL显示在底部平板选项。
如果您在搜索结果页面中使用诺塔= 1的链接将正常工作。 像这样:
http://www.google.com/search?nota=1&q=amazon
我知道这是不完美的。 我们希望默认的谷歌搜索结果页面的链接工作。 谷歌正在做一些对平板版本似乎这华硕变压器不喜欢时髦!
当我弄清楚是什么原因造成这一点,我会发布更新。 哦! 与Android的乐趣:)
这里是另一种解决方案。 谷歌完成加载空白页后,您使用的WebView标签或者成员变量加载web视图与前一个页面(这是实际的结果)。 像这样:
@Override
public void onPageFinished(WebView view, String url)
{
System.out.println("onPageFinished: " + url);
if ("about:blank".equals(url) && view.getTag() != null)
{
view.loadUrl(view.getTag().toString());
}
else
{
view.setTag(url);
}
}
这里是我的logcat:
I/System.out(13182): onPageFinished: http://www.google.com/#hl=en&sugexp=les%3B&gs_rn=1&gs_ri=tablet-gws&cp=2&gs_id=9&xhr=t&q=amazon...
I/System.out(13182): onPageFinished: http://www.amazon.com/
I/System.out(13182): onPageFinished: about:blank
I/System.out(13182): onPageFinished: http://www.amazon.com/
我想添加为斯坦德克萨斯的答案评论,但我没有足够的代表处点......
我测试的是旧片(LG擎天柱标签/ DoCoMo的L-06C / T-Mobile的G-板岩/罗杰斯LG V909)上运行的蜂窝(3.1)和我的WebView运行到谷歌的网站同样的问题。
谷歌自带的浏览器的工作原理导航到www.google.com的时候就好了,但是当我使用该URL的网页视图在我的应用程序,链接都是“有关:空白”。 0_o
因此,如果用户想要去谷歌的搜索页面,我重写URL,如下所示:
//get the url from the user..
inUrl = urlAddressEditText.getText().toString();
// make sure it's properly formatted...
...
// then add the "/?nota=1&" if it's a Google domain.
String outUrl = inUrl.replaceFirst("(www\\.google\\..*/?)(\\??)", "$1/?nota=1&");
webView.loadView(outUrl);
到目前为止,这工作,但我还没有测试它的每一个场景。
我看了一下您的Vuwize应用。 而是直接嵌入www.google.com成的WebView的,你似乎有自己的搜索形式,运行谷歌搜索,然后自己绘制的结果页面。 这可以解释你的问题,因为从谷歌搜索结果结果链接不直HREF链接到原始页面。 要了解更多关于您的问题,有必要看到你在做什么,以及如何您从您的服务器端谷歌搜索。
如果你只是嵌入www.google.com直接像这样的的WebView:
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.google.com");
mWebView.setWebViewClient(new HelloWebViewClient());
用户可以输入直接搜索到谷歌并获得结果页,其中的链接都是在同一个网页视图点击。
这里的另一个解决方案来处理引起Jelly Bean中的空白页。 我发现2个网址,导致空白页。 覆盖使用loadURL(字符串),而不是加载它们。
@Override
public void loadUrl(String url)
{
if (url != null && !(url.startsWith("file:///android_asset") || "about:blank".equals(url)))
{
super.loadUrl(url);
}
}