看见了这段代码,不是很理解,希望有人能帮我理清思路_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
3
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1986 | 回复: 2   主题: 看见了这段代码,不是很理解,希望有人能帮我理清思路        下一篇 
westRing
注册用户
等级:少校
经验:1198
发帖:22
精华:0
注册:2015-4-9
状态:离线
发送短消息息给westRing 加好友    发送短消息息给westRing 发消息
发表于: IP:您无权察看 2015-8-18 16:54:51 | [全部帖] [楼主帖] 楼主

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head><title>用js判断各种类型的浏览器</title>

<script>

var BrowserDetect = {

    init: function () {

    this.browser = this.searchString(this.dataBrowser) || "An unknown browser";

    this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";

    this.OS = this.searchString(this.dataOS) || "an unknown OS";

    },

    searchString: function (data) {

    for (var i=0;i<data.length;i++) {

    var dataString = data[i].string;

    var dataProp = data[i].prop;

    this.versionSearchString = data[i].versionSearch || data[i].identity;

    if (dataString) {

    if (dataString.indexOf(data[i].subString) != -1)

    return data[i].identity;

    }

    else if (dataProp)

    return data[i].identity;

    }

    },

    searchVersion: function (dataString) {

    var index = dataString.indexOf(this.versionSearchString);

    if (index == -1) return;

    return parseFloat(dataString.substring(index+this.versionSearchString.length+1));

    },

    dataBrowser: [

    {

    string: navigator.userAgent,

    subString: "Chrome",

    identity: "Chrome"

    },

    { string: navigator.userAgent,

    subString: "OmniWeb",

    versionSearch: "OmniWeb/",

    identity: "OmniWeb"

    },

    {

    string: navigator.vendor,

    subString: "Apple",

    identity: "Safari",

    versionSearch: "Version"

    },

    {

    prop: window.opera,

    identity: "Opera",

    versionSearch: "Version"

    },

    {

    string: navigator.vendor,

    subString: "iCab",

    identity: "iCab"

    },

    {

    string: navigator.vendor,

    subString: "KDE",

    identity: "Konqueror"

    },

    {

    string: navigator.userAgent,

    subString: "Firefox",

    identity: "Firefox"

    },

    {

    string: navigator.vendor,

    subString: "Camino",

    identity: "Camino"

    },

    { // for newer Netscapes (6+)

    string: navigator.userAgent,

    subString: "Netscape",

    identity: "Netscape"

    },

    {

    string: navigator.userAgent,

    subString: "MSIE",

    identity: "Explorer",

    versionSearch: "MSIE"

    },

    {

    string: navigator.userAgent,

    subString: "Gecko",

    identity: "Mozilla",

    versionSearch: "rv"

    },

    { // for older Netscapes (4-)

    string: navigator.userAgent,

    subString: "Mozilla",

    identity: "Netscape",

    versionSearch: "Mozilla"

    }

    ],

    dataOS : [

    {

    string: navigator.platform,

    subString: "Win",

    identity: "Windows"

    },

    {

    string: navigator.platform,

    subString: "Mac",

    identity: "Mac"

    },

    {

    string: navigator.userAgent,

    subString: "iPhone",

    identity: "iPhone/iPod"

    },

    {

    string: navigator.platform,

    subString: "Linux",

    identity: "Linux"

    }

    ]

};

function warning(){

BrowserDetect.init();//调用方法 BrowserDetect.browser:为浏览器类型,BrowserDetect.version:为版本,BrowserDetect.OS:为系统类型

alert("您当前使用的浏览器及版本是:"+BrowserDetect.browser + "" + BrowserDetect.version + " 所用的系统是:" + BrowserDetect.OS);

}

</script>

</head>

<body>

     <a href="javascript:;" click="warning();" id="jubao">获取浏览器及版本及系统类型</a>

</body>

</html>




赞(0)    操作        顶端 
lei.zhang
注册用户
等级:少校
经验:989
发帖:7
精华:0
注册:1970-1-1
状态:离线
发送短消息息给lei.zhang 加好友    发送短消息息给lei.zhang 发消息
发表于: IP:您无权察看 2015-8-18 20:55:07 | [全部帖] [楼主帖] 2  楼

这是面相对象的写法



赞(0)    操作        顶端 
_chen
版主
等级:中校
经验:2139
发帖:39
精华:0
注册:2013-8-23
状态:离线
发送短消息息给_chen 加好友    发送短消息息给_chen 发消息
发表于: IP:您无权察看 2015-8-19 9:40:38 | [全部帖] [楼主帖] 3  楼

var BrowserDetect = {
      init: function () {
            this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; //对象属性赋值
            this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";//对象属性赋值
            this.OS = this.searchString(this.dataOS) || "an unknown OS";//对象属性赋值
      },//初始化方法
      searchString: function (data) {//定义对象方法
      },
searchVersion: function (dataString){},//定义对象方法
}; //这是定义了一个对象


 先把这个对象的属性和方法弄清楚就好办了



赞(0)    操作        顶端 
总帖数
3
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论