2012-10-25 46 views
5

在iOS中,我希望能夠給NSURLRequest關聯 - 任何NSURLRequest,無論是導航請求或圖片樣式要求 - 與發送它的UIWebView。這似乎要求實施NSURLProtocol子類來捕獲並分析請求。但是,我找不到一種方法將請求與其Web視圖相關聯,並且NSURLProtocol似乎只能理解NSURLRequest s。歸屬關係的NSURLRequest與UIWebView中

這對導航請求會很好,因爲我可以在我的UIWebViewDelegate中進行關聯。但是這對於不會觸發UIWebViewDelegate方法的輔助資源請求(例如圖像)不起作用。

任何人有任何想法,以使這種關聯的最佳途徑?

+0

NSURL * url = [NSURL URLWithString:urlAddress]; //創建一個URL對象。 NSURLRequest * requestObj = [NSURLRequest requestWithURL:url]; // URL請求對象 [web loadRequest:requestObj]; – kamleshwar

+0

如果NSURLRequest獲得一個HTML響應,其中包含img標籤,則UIWebView將自動啓動輔助請求來檢索該數據。我也想將這些請求關聯起來。 – KevinH

回答

0

如果我正確理解你的問題,你可以只是做NSURL *url = [[webView request] URL];

+0

如果我在www.yahoo.com網站上有一個圖片鏈接到maps.google.com,那麼UIWebView的「URL」屬性將與圖片請求中表示的URL沒有關聯。 – KevinH

0

在您的自定義協議,canUseProtocol委託方法被調用爲引用的資源也是如此。您可能能夠利用此掛鉤來鏈接您的請求,但我不確定是否可以在不取消該請求並單獨執行url的情況下獲得失敗回調。

有關引用資源的問題引發了我的發現,這讓我可以解決我遇到的緩存問題。

謝謝,我希望這有助於回報!