Вернуть мобильную версию сайта в элемент управления WebBrowser для wp7? - PullRequest
0 голосов
/ 16 марта 2011

Можно ли вернуть веб-страницы в мобильном формате, если таковой имеется, перед отображением нормального рендеринга веб-страницы? Я заметил, что получал оба, когда я использовал это. Или это включено по умолчанию?

РЕДАКТИРОВАТЬ: Например, например, на телефоне вы можете запросить получение веб-страниц в мобильной или настольной версии. Доступна ли эта опция для разработчиков, и если нет, то каково значение по умолчанию для элемента управления?

Ответы [ 3 ]

3 голосов
/ 16 марта 2011

К сожалению, нет API для переключения этого параметра - и нет простого способа перехватить исходящие HTTP-вызовы из элемента управления браузера.

Глядя на некоторые выходные данные эмулятора, выглядит, что параметр mobile / full переключает это в User-Agent:

Мобильный - Mozilla / 4.0 + (совместим + MSIE + 7,0 + Windows + Телефон + OS + 7,0 + Trident / 3.1; + IEMobile / 7,0 + Microsoft + XDeviceEmulator)

Рабочий стол - Mozilla / 4.0 + (совместим + MSIE + 7,0 + Windows + NT + 6,1 + XBLWP7 + ZuneWP7)

Вот также некоторые мобильные агенты, захваченные «в дикой природе» - http://www.elucidsoft.com/blog/2010/11/19/windows-phone-7-user-agents/

Похоже, что эти настройки являются глобальными настройками для ОС, поэтому все, что пользователь выбирает в настройках браузера, также используется в вашем приложении (я думаю, это то, что я только что видел).

2 голосов
/ 17 июня 2011

У меня была эта проблема очень и очень долгое время, и я, наконец, понял ее следующим образом:

заголовок строки = «Пользователь-агент: Mozilla / 5.0 (iPhone; U; Процессор iPhone OS 4_1 похож на Mac OS X; ru) AppleWebKit / 532,9 (KHTML, например Gecko) Версия / 4.0.5 Mobile / 8B117 Safari / 6531.22.7" ;

MyWebBrowser.Navigate (новый Uri ("http://www.google.com"), null, заголовок);

У меня НЕ работает следующий заголовок (на сайте gmail):

Mozilla / 4.0 + (совместим + MSIE + 7,0 + Windows + Телефон + OS + 7,0 + Trident / 3.1; + IEMobile / 7,0 + Microsoft + XDeviceEmulator)

1 голос
/ 16 марта 2011

Элемент управления WebBrowser не предоставляет API, который позволяет вам выбирать между версией веб-страницы для настольной или мобильной версии. Вы можете использовать Fiddler для перехвата трафика для исходящих запросов (из эмулятора или устройства ), чтобы узнать, есть ли что-то конкретное в запросе, который вы могли бы реплицировать в течение года. собственные запросы.

...