gpt4 book ai didi

mobile - 显示平板电脑的桌面版本

转载 作者:行者123 更新时间:2023-12-01 04:35:05 24 4
gpt4 key购买 nike

如果用户从平板电脑访问网站,我会尝试显示网站的桌面版本。 contextCheck_WithDirectMethod 方法确实按预期返回 false,但移动版本仍在我的 ipad 上显示。非常感谢任何有关如何解决此问题的帮助。

protected void Application_BeginRequest(object sender, EventArgs e)
{
System.Func<HttpContextBase, bool> contextCheckDelegate = contextCheck_WithDirectMethod;
DefaultDisplayMode mobileMode = new DefaultDisplayMode("mobile");
mobileMode.ContextCondition = contextCheckDelegate;
DisplayModeProvider.Instance.Modes.Add(mobileMode);
}
public bool contextCheck_WithDirectMethod(HttpContextBase objHttpContextBase)
{

bool isTablet = false;
string varBrowserAgent = objHttpContextBase.Request.UserAgent;
if (!string.IsNullOrEmpty(varBrowserAgent))
{
varBrowserAgent = varBrowserAgent.ToString().ToLower();
if (varBrowserAgent.Contains("ipad") || (varBrowserAgent.Contains("android") && !varBrowserAgent.Contains("mobile")))
{
isTablet = true;
objHttpContextBase.ClearOverriddenBrowser();
}
}

if (!isTablet)
{
if (objHttpContextBase.GetOverriddenBrowser().IsMobileDevice)
{
return true;
}
}

if (!string.IsNullOrEmpty(varBrowserAgent))
{
varBrowserAgent = varBrowserAgent.ToString().ToLower();

if (objHttpContextBase.Request.Browser.IsMobileDevice == true || varBrowserAgent.Contains("ipod") || varBrowserAgent.Contains("ipad")
|| varBrowserAgent.Contains("iphone") || varBrowserAgent.Contains("android") || varBrowserAgent.Contains("iemobile"))
{
if (isTablet)
return false;
else
return true;
}
}
return false;
}

最佳答案

显示模式逻辑按注册顺序查找匹配项。默认移动模式在您添加之前已注册,因此您的新移动模式永远不会被评估。

一般模式是在索引 0 处插入新的显示模式,而不是添加显示模式。而不是:

DisplayModeProvider.Instance.Modes.Add(mobileMode);

使用:

DisplayModeProvider.Instance.Modes.Insert(0, mobileMode);

或者,您可以更改浏览器定义(例如 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers)以表明 iPad 不是移动设备,但这可能会变得复杂。

此外,还有一个问题需要注意:显然是 iPad sometimes reports a different user agent .您的设备模式选择逻辑需要考虑这两种情况。

关于mobile - 显示平板电脑的桌面版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10976330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com