2010-01-15 15 views
8

Her sayfa değişikliğinde, bu sayfa yüklenmeye/yürütülmeye başlamadan önce bir şeyler yapmam gerekiyor.UIWebView'de sayfa değişikliği nasıl algılanır ve yüklenmeye başlamadan önce bir şeyler yapın?

İlk olarak, -webView:shouldStartLoadWithRequest: kullanmayı denedim, ancak bu işe yaramıyor çünkü XHR istekleri ve iframe istekleri de deniyor.

İkinci olarak, -webViewDidStartLoad: kullanmayı ve değiştirilmiş olup olmadığını görmek için önceki değere webView.request değerini karşılaştırmayı denedim. Bu işe yaramaz, çünkü webView.request sadece aramadan sonra bir süre güncellenir.

Başka fikirleriniz var mı?

cevap

0

Bir Kategori oluşturun veya loadRequest'i geçersiz kılan UIWebview'ı genişletin, önce işleminizi gerçekleştirin ve sonra standart loadRequest'i yapın.

+0

Bu işe yaramaz ... Bu sayfa 30x yeniden yönlendirme, meta yönlendirme, JS ayarı window.location, vb. Bir sonucu olarak da değiştirilebilir ... –

+0

Ah bu yüzden stringByEvaulatingJavaScriptFromString üzerinde bir filtre kurmak istediğinizde : veya DOM ağacından daha ayrıntılı veriler elde edersiniz? –

1

UIWebView.request'u gözlemlemek için KVO'yu kullanmayı denediniz mi?

10

Web görünümü isteği nesne: shouldStartLoadWithRequest: yüklemek için URL ana doc (muhtemelen iFrame) dışında bir şey yüklüyoruz mainDocumentURL eşit değilse iki özellik

BOOL iframe = ![request.URL isEqual:request.mainDocumentURL]; 

sahiptir.

İlgili konular