Android WebView在所有框架(包括iframe)中运行Javascript

时间:2017-12-14 18:45:41

标签: javascript android iframe

在WebView中的Soundcloud iframe中,我想执行以下js:(document.getElementsByClassName('mobilePrestitial__link')[0]).click()

在iOS中,我通过设置forMainFrameOnly: false来实现这一点,但我似乎无法在Android上找到此设置。我可以做什么来在所有帧上执行所述js,以便点击通过?

这就是我现在正在尝试的方法,但它不起作用。

webView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            String javascript = "javascript:(document.getElementsByClassName('mobilePrestitial__link')[0]).click()\n" +
                    "setTimeout(function() {\n" +
                    "(document.getElementsByClassName('mobilePrestitial__link')[0]).click()\n" +
                    "}, 5000);";
            view.loadUrl(javascript);
        }
    });

更新:如果有其他人因使用完全相同的网站(即Soundcloud)而陷入困境:如果您升级频道,它们会为您提供无弹出框架。也许这适合你的用例,这是我最终选择的。

0 个答案:

没有答案