safaricn
Safari首页 | Safari新闻 | Safari试用 | Safari下载 | Safari技巧 | Safari问答 | Safari中文 | 浏览器大全
欢迎访问 Safari中文网 [Apple Safari浏览器] 三大浏览器之一 世界上最快的网页浏览器 苹果Safari  
Safari>Safari问答> Safari开发(一) Safari兼容性问题
Safari开发(一) Safari兼容性问题
[ 来源:www.safaricn.com ] [ 作者:Safari中文网 Safari之家 ][ 时间:2007-10-30 ]

 

  今天Safari中文网告诉大家一些关于Safari浏览器的底层相关问题,帮助部分高级网页设计人员解决一些Safari兼容性问题。众所周知,Safari浏览器使用的是Webkit和Gecko内核。很多情况下在IE中可以正常显示的网页在Safari浏览器中会遇到一些兼容性问题。
 
  1.在Safari浏览器中如何判断访问者国家的语言

  function showLanguage(){
  var slanguageinfo = navigator.language ? navigator.language : navigator.userLanguage;
  alert ("And the Language is: " + slanguageinfo); 
 }

 我们调用showLanguage()函数在简体中文操作系统中会显示如下图1所示的界面

safari语言

图1

  2. Safari浏览器使用的User-Agent字符串是什么?

  一、由于Safari浏览器最早使用在Apple MAC OS系统上,看看在MAC OSX上结果吧

  Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/XX (KHTML, like Gecko) Safari/YY

  Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/XX (KHTML, like Gecko) Safari/YY

  Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/XX (KHTML, like Gecko) Version/ZZ Safari/YY

   Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/XX (KHTML, like Gecko) Version/ZZ Safari/YY

   Mozilla/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/XX (KHTML, like Gecko) Version/ZZ Safari/YY


  二、同时Safari在iPhone手机中的User Agent 字符串为

  Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/XX (KHTML, like Gecko) Version/ZZ Mobile/WW Safari/YY

  三、最后看看Safari for Windows 版本的User Agent String吧,类似AppleWebKit/125.5.5 或者 AppleWebKit/125.3 或为 AppleWebKit/125,如图2所示:

safari版本

图2

  我们使用下面的showUserAgentString() 函数来获取当前的User Agent

function showUserAgentString() {
  
   var agtstr=navigator.userAgent;
   
   alert ("current user-agent string is:" + agtstr);
  }

3. 如果判断当前用户是否使用Webkit内核浏览器,如Safari呢?

 使用下面的 IsAppleWebKit()函数可以判断用户是否使用苹果Webkit内核浏览器Safari

function IsAppleWebKit() {
   
   var kitName = "applewebkit/";
   var tempStr = navigator.userAgent.toLowerCase();
   var pos = tempStr.indexOf(kitName);
   var isAppleWebkit = (pos != -1);
  
   if (isAppleWebkit) {
    var kitVersion = tempStr.substring(pos + kitName.length,tempStr.length);
    kitVersion = kitVersion.substring(0,kitVersion.indexOf(" "));
    alert("Running AppleWebKit and version : " + kitVersion);
  
   } else {
     alert("Not using AppleWebKit.");
   }
  }

版权所有 www.safaricn.com 2006-2007 Safari中文网