在WebBrowser控件中为wp7带回移动版网站?

时间:2011-03-16 17:12:01

标签: windows-phone-7 webbrowser-control

在显示网页的正常呈现之前,是否可以以移动格式恢复网页(如果可用)?我注意到,当我使用它时,我得到了两个。或者这是默认启用的吗?

编辑:例如,在手机上,您可以请求接收移动版或桌面版的网页。此选项是否可供开发人员使用,如果不是,控件的默认选项是什么?

3 个答案:

答案 0 :(得分:3)

可悲的是,没有用于切换此设置的API - 并且没有简单的方法来拦截来自浏览器控件的传出HTTP调用。

查看模拟器的一些输出,看起来移动/完整设置在User-Agent中切换它:

  

手机 -   的Mozilla / 4.0 +(兼容; + MSIE + 7.0 +视窗+电话+ OS + 7.0 +三叉戟/ 3.1; + IEMobile / 7.0; +微软+ 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/

看起来这个设置是操作系统的全局设置 - 因此用户在浏览器设置中选择的内容也会在您的应用中使用(我认为这就是我刚看到的内容)。

答案 1 :(得分:2)

我在很长一段时间内遇到了这个问题,最后我用以下方法解决了这个问题:

  

string header =   “用户代理:Mozilla / 5.0(iPhone; U;   CPU iPhone OS 4_1与Mac OS X一样;   en-us)AppleWebKit / 532.9(KHTML,喜欢   Gecko)Version / 4.0.5 Mobile / 8B117   Safari浏览器/ 6531.22.7" ;

     

MyWebBrowser.Navigate(新   Uri(“http://www.google.com”),null,   报头);

以下标题不适合我(在gmail网站上):

的Mozilla / 4.0 +(兼容; + MSIE + 7.0 +视窗+电话+ OS + 7.0 +三叉戟/ 3.1; + IEMobile / 7.0; +微软+ XDeviceEmulator)

答案 2 :(得分:1)

WebBrowser控件不会公开一个API,使您可以在桌面或移动版网页之间进行选择。您可以使用Fiddler来捕获传出请求的流量(来自emulatordevice),以查看您是否可以在yoru自己的请求中复制请求。 / p>