我希望能捕捉AJAX請求後,我已經閱讀此線程: UIWebViewDelegate not monitoring XMLHttpRequest?>XMLHttpRequest的目標C
但是我希望有一些方法來實現這一目標使用的OBJ C時不通過JavaScript去。我已經有一個UIWebView設置及其代表。但是由於這並沒有捕獲XMLHttpRequest,我應該實現什麼來實現這個以及在哪裏?謝謝。
我希望能捕捉AJAX請求後,我已經閱讀此線程: UIWebViewDelegate not monitoring XMLHttpRequest?>XMLHttpRequest的目標C
但是我希望有一些方法來實現這一目標使用的OBJ C時不通過JavaScript去。我已經有一個UIWebView設置及其代表。但是由於這並沒有捕獲XMLHttpRequest,我應該實現什麼來實現這個以及在哪裏?謝謝。
看看NSURLProtocol - 這應該使你能夠攔截請求。
基本上你會 - 創建NSURLProtocol派生自己的類和applicationDidFinishLaunchingWithOptions進行註冊:使用NSURLProtocol:的RegisterClass:
連接將調用initWithRequest:cachedResponse:客戶端:然後startLoading。
你會調用連接回來URLProtocol:didReceiveResponse:cacheStoragePolicy :,一定數量的來電URLProtocol:didLoadData :,終於URLProtocolDidFinishLoading:
一旦截獲了電話,你可以讓他們繼續前行,預先打擊他們,阻止他們前進等。
感謝您的回答!我基本上嘗試了你所說的,我在視圖控制器中使用了NSURLProtocol:registerclass:。然而,我想知道,是否有任何方式從NSURLProtocol派生我的自定義類設置視圖控制器作爲我的視圖控制器內的委託?謝謝! – bph
有趣的問題。我不知道我的頭頂,我不得不去做一些調查。我相信會有某種解決方案,它只是最簡單/最優秀的發現。如果沒有別的,它可以發佈通知。 – Gruntcakes
對於任何優雅的選項,你有任何線索嗎?如果我要在自定義的NSURLProtocol類中創建一個委託,我需要一個類的實例來設置它的權利? – bph