ASP编程入门进阶(十四):Browser & Linkin
作者:cnbruce 来源:CSDN 发布时间:2008-06-12 07:08:00
一、Browser Capabilities组件
该组件最主要的作用是:提取识别客户端浏览器的版本信息。
其原理是这样的:当客户端浏览器向服务器发送页面请求时,同时会自动发送一个User Agent HTTP标题,而该标题是一个声明浏览器及其版本的 ASCII 字符串。而Browser Capabilities组件就将User Agent映射到在文件Browscap.ini中所注明的浏览器 , 并通过BrowserType对象的属性来识别客户浏览器。
若该对象在 browscap.ini 文件中找不到与该标题匹配的项,那么将使用默认的浏览器属性。若该对象既未找到匹配项且 browscap.ini 文件中也未指定默认的浏览器设置,则它将每个属性都设为字符串 "UNKNOWN"。
在默认情况下,browscap.ini文件被存放在 WINDOWS\SYSTEM\INERSRV( 如果是95/98+PWS4) 或 NT\SYSTEM32\INERSRV( 如果是 NT) 目录中,你可以自己编辑这个文本文件,以添加自己的属性或者根据最新发布的浏览器版本的更新文件来修改该文件。
可以得出结论,Browser Capabilities组件也就是提取某个文件中的内容,然后比较得出显示。具体该如何应用呢?
1,btinfo.asp
<%set bc=server.CreateObject("mswc.browsertype")%> 浏览器名称是browser:<%=bc.browser%><br> 浏览器版本是version:<%=bc.version%> <br>浏览器主版本是majorver:<%=bc.majorver%> <br>浏览器辅版本是minorver:<%=bc.minorver%> <br>浏览器的运行平台是platform:<%=bc.platform%> <br>
很显然“<%set bc=server.CreateObject("mswc.browsertype")%> ”就是进行的浏览器组件的建立以下诸如“bc.browser”之类即为显示浏览器的具体某个特性了。
2,btif.asp
<%set bc=server.CreateObject("mswc.browsertype")%> <%if bc.frames=true then%> 浏览器支持多窗口(frames)显示 <%else%> 浏览器不支持多窗口(frames)显示 <%end if%> <br> <%if bc.backgroundsounds=true then%> 浏览器可以播放背景音乐(backgroundsounds) <%else%> 浏览器不能播放背景音乐(backgroundsounds) <%end if%> <br><%if bc.tables=true then%> 浏览器支持表格(tables)显示 <%else%> 浏览器不支持表格(tables)显示 <%end if%> <br> <%if bc.beta=true then%> 你的浏览器是一测试版(beta) <%else%> 你的浏览器是一正式版 <%end if%> <br> <%if bc.activexcotrols=true then %> 浏览器支持active控制 <%else%> 浏览器不支持active控制 <%end if%> <br> <%if bc.cookies=true then%> 浏览器支持cookie功能 <%else%> 浏览器不支持cookie功能 <%end if%> <br> <%if bc.vbscript=true then%> 浏览器支持vbscript <%else%> 浏览器不支持vbscript <%end if%> <br> <%if bc.jscript=true then%> 浏览器支持jscript <%else%> 浏览器不支持jscript <%end if%>
该代码则是检测当前浏览器对各类网页技术的支持情况,那下面就可以根据某特定情况做相应变动
3,fram.asp
<%set bc=server.CreateObject("mswc.browsertype") if bc.frames then %><frameset rows="*,*"> <frame src="http://www.google.com"> <frame src="http://www.baidu.com"></framest><%else%>你的浏览器不支持框架<%end if%>
很简单的意思:如果当前浏览器支持框架则进行frameset的显示,否则提示“你的浏览器不支持框架”
当然,需要提醒你的:不要过分依赖该组件,因为其只是提取browscap.ini里的值,而该值随时可以被客户修改,或者记录过时,不能真实反映到浏览器的情况,慎用之。
猜你喜欢
- asp中我们可以利用ERR对象来判断sql语句执行是否成功:SQL="Insert INTO TABLE(F1,F2) value
- 本文研究的主要是Python web开发框架Django的管理界面的相关内容,具体如下。admin界面的路径,通常在my_project中已
- Xml_javascript分页实例:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.
- 前言在Python开发中,有些情况下,我们可能面临在一台机器上同时安装多版本Python的需求。比如:有多个Python项目,每个项目依赖不
- 更新MySQL随意字段里的数据下面是我的mysql所有字段名若字段名太多不建议使用以下方法这里sql语句要注意一下双引号里面用单引号.def
- Python需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(简单来说,标识符就是合法的名称标识符需要以字母或下
- <script>alert(escape("人"));alert(encodeURI("人&quo
- QPixmap 像素图控件是用来处理图像的控件之一。它用于将优化后的图像显示在屏幕上。在我们的代码示例中,我们将使用QPixmap 控件在程
- 1. 横排往下会影响阅读速度。如12345678的单排单列数字,肯定是竖排阅读快。但多行多列的整块信息,横排并不见得就比竖排慢,比如所有简体
- <?php date_default_timezone_set("PRC"); $host = stripslas
- 本文介绍了两个asp实用的技巧,一是使用asp强制刷新页面,二是判断一个文件是否存在强制刷新网页 强制性刷新随机验证码 ,让随机验
- 前言正则表达式是什么应该不用过多介绍,每位程序员应该都知道,正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是
- 最近经常有收到MySQL实例类似内存不足的报警信息,登陆到服务器上一看发现MySQL 吃掉了99%的内存,God !有时候没有及时处理,内核
- 一、概论C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点。而C4.5引入了新概念“信息增益率”
- 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时,功能可能存
- 1)按笔画排序 select * from Table order by nlssort(columnName,'NLS_SORT=
- 1. 图信号处理知识图卷积神经网络涉及到图信号处理的相关知识,也是由图信号处理领域的知识推导发展而来,了解图信号处理的知识是理解图卷积神经网
- 正确安装python中的wordcloud(词云库)第一步:这里的√一定要勾选上。第二步:(检查是否有python的环境
- 一、文件操作pandas内置了10多种数据源读取函数,常见的就是CSV和EXCEL使用read_csv方法读取,结果为dataframe格式
- 如下所示:from urllib.parse import quoteimport stringurl = r'http://www