![]() |
|
今天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所示的界面

图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所示:

图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中文网 |