C# 有没有一种方法可以激活控件WebView桌面模式而不是移动模式?

C# 有没有一种方法可以激活控件WebView桌面模式而不是移动模式?,c#,xaml,windows-phone-8.1,C#,Xaml,Windows Phone 8.1,有没有一种方法可以激活控件WebView桌面模式而不是移动模式 <WebView x:name= "WebViewApp" ..../> WebView没有固有的桌面或移动模式。站点是否提供移动或桌面优化站点通常基于用户代理标头。您可以在WebView中设置此设置,方法是使用所需的代理创建,然后使用WebView进行导航 如果要模拟特定的浏览器模式,可以在多个网站上找到它使用的用户代理 string userAgent = "Mozilla/5.0 (compatible; MSI

有没有一种方法可以激活控件WebView桌面模式而不是移动模式

<WebView x:name= "WebViewApp" ..../>

WebView没有固有的桌面或移动模式。站点是否提供移动或桌面优化站点通常基于用户代理标头。您可以在WebView中设置此设置,方法是使用所需的代理创建,然后使用WebView进行导航

如果要模拟特定的浏览器模式,可以在多个网站上找到它使用的用户代理

string userAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/7.0; Touch; rv:11.0; WPDesktop) like Gecko"
HttpRequestMessage httpRequestMessage = new HttpRequestMessage(
    HttpMethod.Post, new Uri("http://whatsmyuseragent.com"));
httpRequestMessage.Headers.Append("User-Agent",userAgent);

myWebView.NavigateWithHttpRequestMessage(httpRequestMessage);

您可以尝试将具有“桌面”宽度的视口元标记添加到
,如:



尝试此操作以设置您的用户代理:~

webView.SetWebViewClient (new MyWebViewClient());

// ...

public class MyWebViewClient : WebViewClient
{
    public override bool ShouldOverrideUrlLoading(WebView view, string url)
    {
        view.Settings.UserAgentString = "your-user-agent-here";
        view.LoadUrl(url);
        return true;
    }
}

如何通过
myWebView.NavigateToLocalStreamUri(url,myResolver)
将用户代理更改为加载本地html?@mostafiz为什么要这样做?用户代理是Web服务器的请求头。服务器使用它来决定返回什么内容。由于您没有web服务器和请求,因此您没有用户代理。上面的“可信和/或官方来源”部分是错误的。我只是想让它工作。感谢第一个能够展示如何从内存中加载html字符串的人,该字符串具有特定的基本url和与桌面相同的外观。@WilliamJockusch您读过这篇文章吗?它似乎在谈论Android网络视图。这个问题是关于Windows.UI.Xaml.Controls.WebView的。@WilliamJockusch这是一个不同的问题,应该在自己的问题中提出。如果你解释一下它看起来有什么不同,那会有帮助的。也就是说,您可能需要使用NavigateToLocalStreamUriAsync来提供相关资源。有关官方示例,请参阅。我没有看到任何WebViewClient类,也没有在相关WebView上看到SetWebViewClient方法。哦,对不起,我猜我读你的问题太快了:)Android one有一个(Xamarin):但是不管怎样,试着添加width=1024视口标记,看看这是否有帮助。