选择显示字体大小

asp中使用servervariables集合详解(2)

     检测浏览器的版本
  
    servervariables集合中,另外一个有用的值是用户浏览器的用户代理字符串。在“detecting the browser type”页面(browsertype.asp),使用servervariables集合中的“http_user_agent”值来获得用户代理字符串,一些脚本用来解析该信息并寻找生产厂家名称和浏览器版本。
  
  <%
  strua = request.servervariables(“http_user_agent”)
  response.write “the user agent string is <b>” & strua & “</b>
  ”
  if instr(strua, “msie”) then
  response.write “to upgrade your browser go to “_
  & “<a href=” & chr(34) & http://www.microsoft.com/ie/”_
  & chr(34) & “>http://www.microsoft.com/ie/<a>
  ”
  intversion = cint(mid(strua, instr(strua, “msie”) + 5, 1))
  if intversion >=4 then
  response.write “you can use microsoft dynamic html
  end if
  else
  if instr(strua, “mozilla”) then
  if instr(strua, “compatible;”) = 0 then
  response.write “your browser is probably navigator. you can “_
  & “download the latest version of navigator from “_
  & “<a href=” & chr(34) & http://home.netscape.com/”_
  & “download/”& chr(34) & “>http://home.netscape.com”_
  & “/download/</a>
  ”
  intversion = cint(mid(strua, instr(strua, “/”) +1, 1))
  if intversion >= 4 then
  response.write “you can probably use.netscape dynamic html
  end if
  else
  strversion = mid(strua, instr(strua, “compatible;”) + 12)
  strproduct = left(strversion, instr(strversion, “ “))
  response.write “your browser is navigator-compatible. you can”_
  & “search for the manufacturer using a search engine, such as”_
  & “<a href=” & chr(34) _
  & “http://www.altavista.digital.com/cgi-bin/query?q=”_
  & strproduct _
  & chr(34) & “>http://www.altavista.com/</a>
  ”
  end if
  end if
  end if
  %>
  
    对ie 5.0和navigator 4.61的搜索结果分别不同,对于其他厂家的浏览器,可以得到一个链接在alta vista web站点自动开始搜索厂家的名称。
  
    注意.netscape在用户代理字符串中不提供厂家的名称,因而无法绝对保证一个浏览器一定是navigator。
  
    检测浏览器的语言
  
    servervariables集合中另外一个有用的值是“http_accept_language”,它包含了一个当浏览器安装时指定的,或硬编码进用户的地区版本的语言代码。语言代码的例子有en-us(英国、美国)、de-at(德国、澳大利亚)和es-pe(西班牙、秘鲁)。
  
    语言代码可以是一般的且省略方言标识:例如,在我们的站点wrox者,大批浏览者都是将en(英语)作为语言代码。
  
    因此,可以检测语言代码并自动装载一个合适的特定地区或指定语言版本的页面。
  
  strlocale = lcase(left(request.servervariables(“http_accept_language”),2))
  select case strlocale
   case “en”: response.redirect “http://uk_site.co.uk/”
   case “de”: response.redirect “http://de_site.co.de/”
   case “fr”: response.redirect “http://fr_site.co.fr/”
   ‘... etc
   case else: response.redirect “http://us_sitel.com/”
  end select
  
    或者根据特定的方言,重定向页面:
  
  strlocale = lcase(request.servervariables(“http_accept_language”))
  select case strlocale
   case “en-gb”: response.redirect “http://uk_site.co.uk/”
   case “en-us”: response.redirect “http://us_site.com/”
   case “es-pe”: response.redirect “http://es_site2.co.pe/”
   ‘...
   case else: response.redirect “http://us_site1.com/”
  end select
  
    其他有用的servervariables集合的值
  
    可以访问和使用servervariables集合中的任何一成员,控制asp页面响应一个请求的方式。可以检查一个浏览者访问站点时使用的是否是缺省端口80或还是另一个。在这个例子里,寻找通过端口443的访问——这个端口提供的是安全套接字层(secure socket layer,ssi)访问(和其他的协议),且将它们重定向到一个相应的页面。
  
  if request.servervariables(“server_port”) = “443”) then
  response.redirect “/securesite/default.asp” ‘secure user
  else
  response.redirect “/normalsite/default.asp” ‘non-secure user
  end if
  
    假如要求浏览者注册且由服务器验证(而不是允许他们在web服务器的iuser帐号下匿名访问,这个问题将在后面章节中详细讨论),可以查询用户名称,来判定正在与我们打交道的用户是谁,是否装载页面给该用户。例如,下面的这个代码将只向名为administrator的用户显示管理链接。
  
  ...
  <a href=”dispcnfg.asp”>change display configuration</a>
  
  <a href=”dispcolr.asp”>change display colors</a>
  
  <a href=”keyboard.asp”>change keyboard configuration</a>
  
  <%
  if request.servervariables(“auth_user”) _
  = ucase(request.servervariables(“server_name”)) & “\administrator” then
  %>
  <a href=”allusers.asp”>administer all users</a>
  
  <a href=”usrlogon.asp”>administer logon information</a>
  <%
  end if
  %>
  ...
  
    注意asp不填写servervariables集合直到你访问其中的一个成员。首次访问该集合的一个成员将使iis得到它的全部,应只在需要时才使用servervariables集合。
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons