【问题标题】:How to alter URL loading in a webview?如何更改 Web 视图中的 URL 加载?
【发布时间】:2013-12-05 14:43:27
【问题描述】:

基本思想是改变 webview 中加载的每个 url(例如添加/删除 get 参数)。

我有一个自定义的WebViewClient,其中我有以下方法:

public boolean shouldOverrideUrlLoading(WebView view, String url) {
    String modifiedUrl = Util.someMethod(url);
    super.shouldOverrideUrlLoading(view, modifiedUrl);
}

它会起作用还是我应该把这个逻辑放在另一个方法中,例如onPagestarted

【问题讨论】:

    标签: android webview webviewclient


    【解决方案1】:

    你宁愿做这样的事情:

    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if(conditionForModifyingUrl){
            String modifiedUrl = Util.someMethod(url);
            view.loadUrl(modifiedUrl);
            return true;
        }
        return false;
    }
    

    调用super.shouldOverrideUrlLoading(view, modifiedUrl) 将不起作用,因为它是它的名称,此方法仅检查是否应覆盖 url,并且根本不加载 url。

    【讨论】:

    • 我也想过这种方法,但是完全停止并重新启动 URL 加载(数据丢失等)是否有风险?
    • 没有问题,但考虑到loadUrl会调用shouldOverrideUrlLoading。所以一定要有一个正确的条件,以免出现无限循环(最后应该返回false)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    相关资源
    最近更新 更多