1

我想将当前位置作为请求变量添加到 web 视图中加载的 URL,这样我就可以在页面上使用此信息而无需重新加载或额外请求。

我有一个带有 shouldOverrideUrlLoading 的 WebviewClient,但是当使用 loadUrl 传递请求时,它不会收到请求。我读到可以使用 shouldInterceptRequest 拦截请求的 URL,但我在 API 级别 8 上,并不想仅为此更改它。

有没有办法在 webview 加载 URL 之前对其进行操作?

4

1 回答 1

1

是的,Url在调用之前更改loadUrl。您可以创建一个函数来修改和Url调用它loadUrlshouldOverrideUrlLoading

public Url addLocationToUrl(Url url) {  
    Url newUrl = url;
    //do something with url
    return newUrl;
}   

loadUrl(addLocationToUrl(someUrl));

//and in your WebViewClient
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    mWebView.loadUrl(addLocationToUrl(someUrl));
    return true;
}
于 2013-05-14T10:16:35.300 回答