У меня проблема с загрузкой bing.com в элементе управления WebBrowser на Windows Phone 8. Кажется, что это запустит приложение WP8 Search (так же, как нажатие кнопка «Поиск» на телефоне). Проблема заключается в том, что после нажатия на результат в этом поисковом приложении она не вернет вас в исходное приложение - оно идет в IE, чтобы показать результат. Это не будет работать для меня и, похоже, является серьезным недостатком (IMO) в поведении WebBrowser.Отображение m.bing.com в элементе управления WP8 WebBrowser
Кажется, что есть несколько приложений, которые смогли показать bing.com без запуска приложения поиска телефона - например, Image Downloader Free. Был еще один, но я не помню, что это было ...
После некоторых исследований я обнаружил, что событие WebBrowser_Navigating запускается 3 раза при переходе на bing.com: первый запрос пользователю- (www.bing.com), он затем перенаправляется на http://wp.m.bing.com/?mid=10006, затем перенаправляется на bing: // home /? mid = 10006.
Предотвращения его от переадресации на поиск приложение Bing довольно просто, добавьте к этому событию Navigating:
e.Cancel = (e.Uri.Scheme == "bing");
Проблема заключается в том, что тогда только показывает страницу поиска обладателя места Bing, который говорит, что «Bing Поиск "и имеет ссылку, в которой говорится:« Назад к поиску Bing », который ничего не делает (обычно он перезапускает приложение Bing Search).
У меня есть несколько мыслей, но я не уверен, насколько они осуществимы.
- В элементе управления WP8 WebBrowser можно ли подделать User Agent?
- Можно ли удалить или добавить один из элементов в свойстве WebBrowser.Uri.Flags, чтобы повлиять на способ обработки запроса Bing.com?
- Если ни одна из этих работ не работает, я могу просто создать фиктивную страницу на своем веб-сервере, перенаправить все запросы bing.com и перенести ее на первую страницу m.bing.com с помощью пользовательского агента с карточкой , Я действительно хотел бы избежать необходимости делать этот вариант. С точки зрения конечного пользователя они никогда не узнают, но я просто добавил совершенно новый уровень накладных расходов, обслуживания и ресурсов.
Если вы заинтересованы, прикрепленная являются дифференциалов для самых EventArgs объекта между 3 запросов, которые происходят в случае WebBrowser.Navigating:
Запрос 1 (bing.com) -> Запрос 2 (направляется в wp.m.bing.com/?mid=10006)
Запрос 2 (направляется wp.m.bing.com/?mid=10006) -> Запрос 3 (направляется Бинг: // home /? mid = 10006)
tl; dr Кто-нибудь знает, как предотвратить веб-сайт www.bing.com от запуска приложения поиска в элементе управления WebBrowser в моем приложении?
Спасибо!
Привет Мигель, спасибо за ответ. Что касается вашего первого элемента: true, это предотвращает открытие приложения поиска в IE, но, похоже, это не влияет на элемент управления WebBrowser. Я пробовал с включенными и отключенными сценариями (они по умолчанию отключены). Кажется, они перенаправляют на основе User Agent и HTTP 30x коды ответов. Что касается Google, я хочу, чтобы мои пользователи могли куда угодно. Приложение предназначено для сканирования HTML текущего URL-адреса, где находится пользователь. Я опубликовал решение, но это не идеально. Еще раз спасибо. –
@AdamPlocher Эй, мы все должны что-то взломать. Надеюсь, MS может решить эту проблему, я могу себе представить, какая из этих хлопот должна быть. Вы можете попробовать опубликовать это на форумах поддержки (http://answers.microsoft.com/en-us/winphone/forum/wp8?tab=QnA&status=answered&sort=HelpfulCount&dir=Desc) и посмотреть, могут ли они сообщить об этом как дефект , Удачи :) – miguelarcilla