3

介绍

下面我有我认真定制的 web 视图(在我的活动的 OnCreate 中)..

   WebView  waw = (WebView) findViewById(R.id.webView1);

            waw.getSettings().setBuiltInZoomControls(true);
            waw.getSettings().setSupportZoom(true);
            waw.getSettings().setSupportMultipleWindows(true);
            waw.getSettings().setLoadWithOverviewMode(false);
            waw.getSettings().setJavaScriptEnabled(true);
            waw.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
            waw.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
            waw.getSettings().setUseWideViewPort(false);

            waw.setWebViewClient(new WebViewClient() {
                public void onReceivedError(...)
//Show error toast here.
                }
            });

            waw.loadUrl("http://mysecreturl.com");

因此,经过大量努力,这是我所做的一切:

我的活动以全屏方式打开,完全由 webview 组成...我通过打开 URL 立即开始,我已启用内置缩放控件以进行捏缩放,设置默认缩放等。

有问题的东西

所以,在我试图打开的网站中,我窥探了页面源,我发现这是导致我的问题的确切按钮。

<button><img src="img/Start.png" onclick="javascript:startSurf()"></button>

它有一个图像 Start.png 和一个我找不到确切代码的函数。

这就是我想要打开的。但不能。我按下,没有任何反应,它只是忽略了对这个特定按钮的点击(其他链接工作得很好)....它与 JavaScript 有关(99% 肯定)

链接和其他一切都很好,我认为这是唯一一个使用 JavaScript 的按钮,所以这可能会导致问题。

当我尝试这样做时,例如在我的 PC 上的 Google Chrome 甚至默认的 android 浏览器(在移动设备上)...当我按下此按钮(在相同的 URL)...时会出现一个带有网页的弹出窗口。这就是我想要的。

现在我只想让它打开,当我按下按钮时做点什么。它可以随心所欲地打开,一个新窗口,同一个页面,使用默认浏览器——任何东西。

我已经尽力了。(见上文).. 我启用了 java 脚本,启用了多个窗口,启用了 JS 打开一个窗口 - 绝对没有变化。

(嗯,小的变化 - 如果不启用这些,按钮的 OnPress 动画不起作用,现在我们可以看到按钮被按下但它仍然没有做任何事情。再次,我在谈论带有 JS 的按钮我正在尝试使用的网站上的功能)

那么,如何解决这个问题?

谢谢 :-D

4

2 回答 2

1

这可能是一些跨域策略问题,您可以尝试通过覆盖 WebViewClient 实例中的 shouldOverrideUrlLoading 来解决此问题,另外,请查看 loadDataWithBaseURL()。

于 2013-10-03T17:42:27.907 回答
0

尝试这个;

<a href="#" onclick="startSurf(); return false;"><img src="img/Start.png"></a>

或者

<button><img src="img/Start.png" onclick="startSurf()"></button>
于 2013-10-03T14:50:55.537 回答