Javascript 在 WebView 中不起作用 - Android

Javascript Not working in WebView - Android?

本文关键字:Android 不起作用 WebView Javascript      更新时间:2023-09-26

Intro

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

所以,经过很多努力,这是我所做的一切:

我的活动以全屏打开,完全由网络视图组成...我立即通过打开一个 URL 开始,我已经启用了用于捏合缩放的缩放控件的构建,设置了默认缩放等。

有问题的东西

所以,在我尝试打开的网站上,我窥探了页面源代码,我发现这正是导致我问题的按钮。

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

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

这就是我想打开的。但不能。我按下,什么也没发生,它只是忽略了这个特定按钮的点击(其他链接工作正常(....它与JavaScript有关(99%确定(

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

当我尝试这样做时,请在我的 PC 上的谷歌浏览器中说,甚至是默认的安卓浏览器(在移动设备上(......当我按下此按钮(在同一 URL 上(时...将出现一个带有网页的弹出窗口。这就是我想要的。

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

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

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

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

谢谢:-D

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

试试这个;

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

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