操作webview在开始加载之前获取的URL
我想将当前位置作为请求变量添加到webview中加载的URL,这样我就可以在页面上使用此信息而无需重新加载或额外请求。
我有一个带有shouldOverrideUrlLoading的WebviewClient,但是当它们使用loadUrl传递时,它不会收到请求。 我读过可以使用shouldInterceptRequest拦截请求的URL,但是我在API级别8,并且实际上并不想仅为此更改它。
有没有办法在webview加载之前操纵URL?
是的,在调用loadUrl
之前更改Url
。 您可以创建一个修改Url
函数,并在shouldOverrideUrlLoading
和shouldOverrideUrlLoading
调用它
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; }