javascript - 阻止 webview 发出定期请求

标签 javascript android webview

我有一个 webview,它加载一个外部 javascript 移动应用程序,但该应用程序不是我的应用程序,因此我无法操作它。

这个 javascript 应用程序的问题:它不断调用某个 url。 在 WebViewClient.shouldInterceptRequest 方法中,我记录了调用的 url。 这是输出:

10-28 21:40:38.701: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996438694&_=1382996438703
10-28 21:40:40.770: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996440763&_=1382996440775
10-28 21:40:42.880: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996442873&_=1382996442880
10-28 21:40:44.940: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996444934&_=1382996444942
10-28 21:40:47.000: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996446993&_=1382996447001
10-28 21:40:49.070: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996449044&_=1382996449053
10-28 21:40:51.120: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996451114&_=1382996451125
10-28 21:40:53.180: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996453166&_=1382996453180
10-28 21:40:55.240: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996455237&_=1382996455244
10-28 21:40:57.710: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996457295&_=1382996457714
10-28 21:40:59.770: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996459766&_=1382996459773
10-28 21:41:01.822: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996461813&_=1382996461820
10-28 21:41:03.871: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996463864&_=1382996463871
10-28 21:41:05.920: E/(1335): Loading https://m.tipico.com/ajax/login/register?cv=v4.23b440&c=1382996465914&_=1382996465921

正如你所看到的。每 50 到 60 毫秒自动发出一个请求。我想知道如何阻止页面这样做?

有什么建议吗?

最佳答案

尝试覆盖shouldOverrideUrlLoading,如下所示:

public class MyWebClient extends WebViewClient {
    ...

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        if(url.startsWith("https://m.tipico.com/ajax/login/register")) {
            return true;
        }

        return false;
    }

   ...
}

关于javascript - 阻止 webview 发出定期请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19645644/

相关文章:

javascript - 更改时间格式

Android Studio gradle 同步失败 : no cached version

java - 检查 MainActivity 中 View 的尺寸

android - CSS:背景附件:固定在android中不起作用

android - 如何让以 H.264 编码的视频流在 "WebView"中播放?

java - Android webview进度条无论有没有网络都会持续加载

webview - 我们可以使用 WebView 在 UWP 应用中显示远程 Web 内容吗?

Javascript:检查数组是否是几乎递增的序列

javascript - 如何在不重复 Div 选择器的情况下设置 JQuery .show/.hide

javascript - 合并具有相同 "key"的 JSON 对象并使用 JavaScript 添加它们的 "value"