2013-10-03 70 views
3

介绍JavaScript不工作在WebView - Android?

下面我有我的认真定制的WebView(在我的活动的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"); 

于是,经过很大的努力这里是我所做的一切:

我的活动以全屏模式打开,完全由web视图组成...我通过打开URL直接开始,我已启用缩放控件中的内置缩放,设置默认缩放等。

有问题的东西

因此,在我试图打开的网站中,我探听了页面源代码,并且我发现这是导致我的问题的确切按钮。

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

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

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

链接和其他一切工作只是好,我认为这是唯一一个使用JavaScript的按钮,所以也许会导致问题。

当我尝试这样做时,在我的PC上甚至是默认的Android浏览器(在手机上)中说...当我按下此按钮(在相同的URL)...出现弹出窗口与网页。这就是我想要的。

现在我只想让它刚刚打开,只要按下按钮就可以做些什么。它可以随意打开,新窗口,同一页面,使用默认浏览器 - 任何东西。

我已经尽力了。 (见上)..我已经启用了Java脚本,启用了多个窗口,启用JS打开一个窗口 - 绝对没有变化。如果不启用这些按钮,按钮的OnPress动画不起作用,现在我们可以看到按钮被按下了,但它仍然没有任何作用。我再次谈论按钮与我试图使用的网站上的JS功能)

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

谢谢你:-D

+0

您是否设法解决这个问题? – Mauricio

回答

0

试试这个;

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

<button><img src="img/Start.png" onclick="startSurf()"></button> 
+0

这不是我的网站....我如何可以编辑源代码作为查看器? – Zairo

+0

我想我反复提到,我试图打开一个网页...所以,这不是一个选项,对不起:-( – Zairo

1

它可能会有一些跨域策略问题,您可以尝试通过在WebViewClient实例覆盖shouldOverrideUrlLoading来解决此,也看看loadDataWithBaseURL()。