相关疑难解决方法(0)

强制网站仅以横向模式显示

我想仅以横向模式显示我的网站,是否可能?用户手中的设备方向无关紧要,但网站将始终处于横向模式.我见过这样的iPhone应用程序,但这可以在网站上完成吗?

javascript html5 mobile-browser

82
推荐指数
3
解决办法
10万
查看次数

iphone方向更改后,我可以在移动Safari中触发CSS事件吗?

当用户将手机从纵向模式旋转到横向模式时,我正试图弄清楚如何更改嵌入式网页 - 基本上是为了加载更适合更宽屏幕格式的视图.这可以不从服务器调用新页面,即从CSS/Javascript本身驱动它吗?

谢谢!

iphone iphone-web-app

19
推荐指数
4
解决办法
1万
查看次数

在移动设备上查看时,如何强制网站处于横向模式?

我已经看到了很多关于这方面的问题,但是对于如何在使用DefaultDisplayMode类确定移动网站的Razor/MVC网站中如何做到这一点没有明确的答案.此外,很多答案只是代码片段,没有代码所在的详细信息(在控制器,视图,CSS等?)

所以首先,有一个调用EvaluateDisplayMode()的Global文件:

的Global.asax.cs

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        DeviceConfig.EvaluateDisplayMode();
    }
}
Run Code Online (Sandbox Code Playgroud)

App_Start文件夹中的EvaluateDisplayMode基于GetOverriddenUserAgent()类型设置移动和桌面类:

DeviceConfig.cs

public static class DeviceConfig
{
    const string DeviceTypePhone = "Mobile";

    public static void EvaluateDisplayMode()
    {
        DisplayModeProvider.Instance.Modes.Insert(0,
            new DefaultDisplayMode(DeviceTypePhone)
            {
                ContextCondition = (ctx => (

                    (ctx.GetOverriddenUserAgent() != null) &&
                    (
                      (ctx.GetOverriddenUserAgent().IndexOf("android", StringComparison.OrdinalIgnoreCase) >= 0) ||
                    (ctx.GetOverriddenUserAgent().IndexOf("iPhone", StringComparison.OrdinalIgnoreCase) >= 0) ||
                    (ctx.GetOverriddenUserAgent().IndexOf("Window Phone", StringComparison.OrdinalIgnoreCase) >= 0) ||
                    (ctx.GetOverriddenUserAgent().IndexOf("Blackberry", StringComparison.OrdinalIgnoreCase) >= 0)
                    )
            ))
            });
    }
}
Run Code Online (Sandbox Code Playgroud)

每个页面都有一个名为_AdminMaster.Mobile.cshtml的Layout/Master页面,它使用一个名为PhoneCommon.css的CSS文件.CSS没有什么特别之处(移动与桌面;没有媒体查询;我没有正确的CSS,我从客户端使用的另一个开发人员那里继承了它),除了高度没有一直延伸到底部页.这是CSS的一部分(相当冗长):

#main #content …
Run Code Online (Sandbox Code Playgroud)

css asp.net-mvc mobile media-queries responsive-design

2
推荐指数
1
解决办法
2万
查看次数