利用HttpModule实现浏览器版本控制
来源:互联网 发布:h5页面 知乎 编辑:程序博客网 时间:2024/06/05 18:06
实现后的效果:对于非IE浏览器和IE5以下浏览器转向指定说明页面。
如果需要可以自己扩展让浏览器转向不同的浏览器页面。原来在javascrpt里面控制,代码加起来麻烦,利用HttpModule实现更简单。
cs——————————————————————————————————————————————————————————————
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Configuration;
namespace Xingmai.WebSite.BrowserChooser
{
public class BrowserModule : IHttpModule
{
#region IHttpModule 成员
public void Dispose()
{
}
public void Init(HttpApplication application)
{
//添加判断事件
application.BeginRequest += (new EventHandler(this.Application_BeginRequest));
}
private void Application_BeginRequest(Object source, EventArgs e)
{
HttpApplication Application = (HttpApplication)source;
HttpBrowserCapabilities browser = Application.Context.Request.Browser;
//浏览器版本控制
//现有控制为IE 5 以上
if (browser.Browser != "IE" || browser.MajorVersion < 5)
{
string strBrowserChooserPage = "";
try
{
strBrowserChooserPage = ConfigurationManager.AppSettings["BrowserChooserPage"];
}
catch (System.Configuration.ConfigurationErrorsException ex)
{
throw new Exception(string.Format("请正确配置web.config AppSetting[BrowserChooserPage]节点,系统错误提示:{0}", ex.Message));
}
catch(System.Exception ex)
{
throw ex;
}
//判断是否请求版本控制错误页面,不是转向,是则不转向
if (!Application.Context.Request.Url.ToString().Contains(strBrowserChooserPage.Replace("~/","")))
{
Application.Context.Response.Redirect(strBrowserChooserPage);
}
}
}
#endregion
}
}
web.config <appSettings> 配置节点————————————————————————————————————————
<add key="BrowserChooserPage" value="~/BrowserChooserNoticePage.htm"/>
web.config <system.web> <httpModules> 配置节点—————————————————————————————————
<add name="BrowserModule" type="Xingmai.WebSite.BrowserChooser.BrowserModule, Xingmai.WebSite.BrowserChooser"/>
参考:
HTTP运行期与页面执行模型 http://www.cnblogs.com/stwyhm/archive/2006/08/08/470972.html
一点一点学ASP.NET之基础概念——HttpModule http://www.cnblogs.com/stwyhm/archive/2006/08/09/471729.html
一点一点学ASP.NET之示例——HttpModule 示例 http://www.cnblogs.com/stwyhm/archive/2006/08/11/473974.html
- 利用HttpModule实现浏览器版本控制
- 利用HttpModule实现URL重写
- 利用HttpModule实现防sql注入
- 浏览器版本控制
- 【项目实践】利用Axure和SVN实现版本控制
- [ASP.NET]利用HttpModule实现动态Web网页内容过滤
- 利用selenium模块控制浏览器
- 利用JS获得 浏览器名称,浏览器版本
- 利用SVN实现计算机本地文件文件夹的管理,轻松实现版本控制
- ASP.NET 框架 之HttpModule 例程:实现登录控制和权限控制
- ASP.NET 框架 之HttpModule 例程:实现登录控制和权限控制
- 利用swfobject获取浏览器FlashPlayer版本
- 利用ci和co命令实现文件的简易版本控制
- 在windows下利用Git配合Visual Studio实现版本控制
- javascript实现获取浏览器版本、浏览器类型
- 利用HttpModule做流量记录
- HttpModule的实现
- 使用HttpModule实现UrlRewritter
- 利用HttpModule做流量记录 画蛇添足最后一笔
- 第五讲 TCP编程zz
- javascript一些正则表达式
- 第六讲 串口操作zz
- 第七讲 文件系统zz
- 利用HttpModule实现浏览器版本控制
- 第八讲 内存管理zz
- .tables[0]问题
- ASP.NET中常用的6个优化性能方法
- SDRAM和DDR布线指南zz
- "某个程序安装已在安装计算机上创建挂起的文件操作" 解决办法
- DDR2 SDRAM 和嵌入式系统zz
- ROM和RAM测试总结zz
- 从顶部开始逐层打印二叉树结点数据(不用queue的版本)