【问题标题】:How to check if HttpRequest is coming from WebView?如何检查 HttpRequest 是否来自 WebView?
【发布时间】:2013-11-09 18:57:03
【问题描述】:

我有一个 WinRT 应用程序,它可以打开我的 MVC Web 应用程序的 WebView。

我想为这个特定的浏览器提供一个特殊的布局,使用 MVC 浏览器特定视图。这样做的原因是因为视口会比“正常”小很多

配置它的最佳方法是什么?我检查了用户代理字符串,它非常通用,并没有告诉我太多:

Request.ServerVariables["HTTP_USER_AGENT"]
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; Touch; WebView/1.0)"

有没有办法可以创建条件来检查 WebView?

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("WinRTWebView")
{
    ContextCondition = (context => ???WHAT BOOLEAN LOGIC SHOULD GO HERE???)
});

如果有人知道该怎么做,我可能还需要在我的 webview 上相应地创建特殊的用户代理...我检查了 MSDN 上的 API 并没有发现任何明显的问题。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 webview windows-runtime user-agent


    【解决方案1】:

    由于用户代理没有提供任何你可以使用的东西,我可以想到另外两个选择:

    1. 在您提供给 WebView 的 URL 中包含一个参数:?client=winrt

    然后只需使用该参数的存在来确定要显示哪个视图。

    1. 第二种选择是使用响应式设计,这样您就不需要检查用户代理,而是根据视口大小调整视图。这种方法不允许您使用不同的视图。而是只提供一个视图并使用 CSS 以不同的方式定位项目。

    【讨论】:

      猜你喜欢
      • 2017-10-10
      • 2018-06-01
      • 1970-01-01
      • 2010-11-14
      • 2013-06-25
      • 1970-01-01
      • 2012-01-11
      • 2020-04-04
      • 2016-05-04
      相关资源
      最近更新 更多