基本思想是更改正在Web视图中加载的每个url(例如,添加/删除get参数)。

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

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


它会起作用还是应该将这种逻辑放入其他方法中,例如onPagestarted

最佳答案

您宁愿执行以下操作:

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。

10-08 12:09