2014-09-05 30 views
6

Windows Phone 8'de bir http isteğini engellemenin bir yolu var mı?Windows Phone üzerinde WebView'den gelen http isteği Intercept

WebView uygulamasının yaptığı bazı istekleri engellemek ve kendi yanıtlarımı döndürmek istediğim bir PhoneGap uygulamasına sahibim. Bir web sunucusunda varlıkları talep eden ve yerel olarak oluşturulabilecek varlıkları döndüren çağrıları engelliyorum.

Android'de ben Uygulamamı başlatmak için kendi düzeni kayıt olabilirsiniz ama http isteklerini müdahale edemez, Windows Phone 8'de söyleyebileceğim

NSURLProtocol kullanabilirsiniz iOS yılında shouldInterceptrequest

kullanabilirsiniz. Kaybettiğim bir şey var mı?

cevap

0

Ben Windows Phone için mümkün olduğunu sanmıyorum 8.

Ancak Windows Phone yeni yetenekleri 8.1 vardır: http://blogs.windows.com/buildingapps/2013/07/17/whats-new-in-webview-in-windows-8-1/

bölümüne göz atın: Özel URI

çözme Gönderi Windows 8.1 hakkında, ancak Windows Phone 8.1 için de örnek kod var: http://code.msdn.microsoft.com/windowsapps/XAML-WebView-control-sample-58ad63f7/ (Senaryo 4).

+0

Windows Phone 8.1'de "Custom Uri Resolving" (Özel Uri Çözme) özelliğini söyleyebildiğimden ne yazık ki yanıt için teşekkürler. UriToStreamResolver, özel bir öğeden tüm sayfanın yüklenmesi için bir yol gibi görünüyor ve görüntü isteklerinin ele alınmasıyla ilgileniyorum. ve UriToStreamResolver kullanarak bunu nasıl yapabileceğimi bilmediğim kendi resim verilerini geri döndürüyorum. – snctln

+0

Telefonu yalnızca WiFi'ye koyabilirsiniz. Sonra farklı bir bilgisayardan wireshark kullanarak http paketlerini snoop (makine-a) Not: maxhine-a üzerinde bir web proxy'si çalıştırmanız ve telefonu oraya yönlendirmeniz gerekebilir. –

+0

Gecikme için özür dilerim. Yanlış olduğumu onaylıyorum. WebView isteklerini engellemenin kolay bir yolu yoktur. Bence iki ihtimal var: 1) Web sayfasının HTML içeriğini al ve el ile ayrıştır. 2) Bu denemedim, ancak windows 8 webview yerel görüntüleri ile ilgili sorunları tanıştığımda, bu bağlantı makalesini buldum: http: //blog.jsolutions.co.uk/? P = 492 Belki bu yardımcı olabilir. –

0

Harika bir soru. Bir telefon uygulaması oluşturmadım, bu yüzden sayfanızdaki WebBrowser nesnesine başvuruda bulunup bulunamayacağından emin değilim. Yapabilirseniz, web gezginin "Gezinme" etkinliğini kullanarak isteğin bir ÇOK sınırlı görünümünü kullanabilirsiniz. NavigatingEventArgs bağımsız değişkeni, isteğin URI'sini içerir, ancak bununla ilgilidir. Aradığınız belirli bir uri varsa, navigasyonu her zaman iptal edebilir ve web tarayıcısını başka bir şeye yönlendirebilirsiniz.