Pokazuje m.bing.com w formancie WP8 WebBrowser

Mam problem z załadowaniem bing.com do kontrolki WebBrowser w Windows Phone 8. Wygląda na to, że spowoduje to uruchomienie aplikacji wyszukiwania WP8 (tak samo jak naciśnięcie przycisku Szukaj w telefonie). Problem polega na tym, że po kliknięciu wyniku w tej aplikacji wyszukiwania nie powoduje to powrotu do oryginalnej aplikacji - trafia do IE, aby pokazać wynik. To nie zadziała dla mnie i wydaje się być ogromną wadą (IMO) w zachowaniu WebBrowser.

Wydaje się, że istnieje kilka aplikacji, którym udało się pokazać bing.com bez uruchamiania aplikacji wyszukiwania telefonu - na przykład Image Downloader Free. Był jeszcze jeden, ale nie pamiętam, co to było ...

Po kilku badaniach odkryłem, że zdarzenie WebBrowser_Navigating zostaje zwolnione 3 razy podczas przechodzenia do bing.com: pierwsze żądanie do adresu URL wprowadzonego przez użytkownika (www.bing.com), a następnie zostaje przekierowane dohttp://wp.m.bing.com/?mid=10006, następnie przekierowuje do bing: // home /? mid = 10006.

Zapobieganie przesyłaniu do aplikacji wyszukiwania Bing jest bardzo proste, wystarczy dodać to do wydarzenia Nawigacja:

e.Cancel = (e.Uri.Scheme == "bing");

Problem polega na tym, że pokazuje tylko miejsce na stronę wyszukiwania Bing, które mówi „Wyszukiwanie Bing” i ma link „Powrót do wyszukiwania Bing”, który nic nie robi (zazwyczaj uruchamia ponownie aplikację Bing Search).

Mam kilka myśli, ale nie jestem pewien, czy są one wykonalne.

Czy w formancie WP8 WebBrowser możliwe jest sfałszowanie agenta użytkownika?Czy jeden z elementów właściwości WebBrowser.Uri.Flags może zostać usunięty lub dodany, aby wpłynąć na sposób, w jaki Bing.com obsługuje żądanie?Jeśli żadna z nich nie działa, mogę po prostu utworzyć fikcyjną stronę na moim serwerze internetowym, przekierować do niej wszystkie żądania bing.com i pobrać ją na stronę główną m.bing.com za pomocą agenta użytkownika z kodem karty. Naprawdę chciałbym jednak uniknąć konieczności skorzystania z tej opcji. Z perspektywy użytkownika końcowego nigdy by się nie dowiedzieli, ale dodałem po prostu nową warstwę kosztów ogólnych, utrzymania i zasobów.

Jeśli jesteś zainteresowany, dołączone są diff dla obiektu EventArgs między 3 żądaniami, które występują w zdarzeniu WebBrowser.Navigating:

Request 1 (bing.com) -> Request 2 (przekazane do wp.m.bing.com/?mid=10006)

Żądanie 2 (przekazane do wp.m.bing.com/?mid=10006) -> Żądanie 3 (przekazane do bing: // dom /? Mid = 10006)

tl; dr Czy ktoś wie, jak uniemożliwić www.bing.com spowodowanie uruchomienia aplikacji wyszukiwania w formancie WebBrowser w mojej aplikacji?

Dziękuję Ci!

questionAnswers(2)

yourAnswerToTheQuestion