2013-05-14 61 views
1

我想將當前位置作爲請求變量添加到Web視圖中加載的URL中,以便我可以在頁面上使用此信息而無需重新加載或額外請求。在開始加載之前操作webview獲取的url

我有一個帶有shouldOverrideUrlLoading的WebviewClient,但是它在使用loadUrl傳遞時不會收到請求。我讀過使用shouldInterceptRequest攔截請求的URL的可能性,但我在API級別8上,並不想僅爲此更改它。

有沒有一種方法來處理它的網址之前加載的網址?

回答

1

是的,請在致電loadUrl之前更改Url。您可以在webviewclient創建一個功能,修改了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; 
} 
+0

我沒想到這一點,但我的位置(此時)僅適用......再說,也許這是我的線索重構我的代碼有點... – MidnightMotion 2013-05-14 11:08:13

+0

我只是重構我的代碼來使用你的建議,接受你的答案,因爲它不僅是一個很好的解決方案,而且我的代碼因重構而變得更好;)謝謝! – MidnightMotion 2013-05-14 12:02:25

相關問題