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!