123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- //#region 客户端信息
- Namespace.register("U.CI");
- U.CI.UA = navigator.userAgent.toLowerCase(); //浏览器信息
- /*
- * 获取去新浪获取地址信息
- *
- * @param {function} 获取客户端信息回调
- */
- U.CI.GetUserLocation = function (cb) {
- if (US.NLInfo["country"]) { //获取客户端信息
- cb(); //回调函数
- }
- else { //异步加载
- U.MD.DynamicLoad("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js", "js", [[U.CI.AsyGCUInfo, [cb]]]);
- }
- }
- /*
- * 获取客户端ip异步
- *
- * @param {function} 成功回调
- */
- U.CI.AsyGCUInfo = function (cb) {
- /*
- remote_ip_info
- 参数描述
- -------country 国家
- -------province 省
- -------city 城市
- -------district 区
- */
- try {
- var i, _UDE = remote_ip_info, //新浪返回的值
- _UCE = ["country", "province", "city", "district", "isp", "type"];
- _UDE["LogAddr"] = "";
- for (i = 0; i < _UCE.length; i++) {
- _UDE["LogAddr"] += ((_UDE["LogAddr"] && _UDE[_UCE[i]]) ? "," : "") + _UDE[_UCE[i]];
- }
- U.Ut.AddObj(US.NLInfo, _UDE); //添加内容
- cb(_UDE); //回调使用
- }
- catch (e) { return; }
- }
- /*
- * 获取浏览器类型
- *
- * @return {object} 浏览器类型
- ---------browser 浏览器类型 如 ie chrome firefox safir
- ---------ver 浏览器版本 如果ie的 7.0 8.0 和chrome 33 34
- */
- U.CI.getBrowser = function () {
- var _UDE = browser.ver;
- return { "browser": _UDE[1], "ver": _UDE[2] }; //browser
- }
- /*
- * 获取用户电脑系统
- *
- * @return {string} 成功回调
- */
- U.CI.getSystem = function () {
- var i, _UDOS = navigator.platform,
- _USE = { //非window 系列
- "Apple series": "Mac68K,MacPPC,Macintosh",
- "Unix series": "X11"
- },
- _UDE = { "Windows NT 5.1": "WinXP", //windows 系列
- "Windows NT 6.1": "Win7",
- "Windows NT 6.0": "Windows Server 2008",
- "Windows NT 6.2": "Win8",
- "Windows NT 5.2": "Windows Server 2003",
- "Windows NT 5.0": "Win2000",
- "Win 9x 4.90": "WinME"
- };
- //window系类 判断
- for (i in _UDE) {
- if (_UDE.hasOwnProperty(i) && U.CI.UA.indexOf(i.toLowerCase()) > -1) {
- return _UDE[i].toLowerCase();
- }
- }
- //苹果或者Unix系类 判断
- for (i in _USE) {
- if (_USE.hasOwnProperty(i) && _USE[j].indexOf(_UDOS) > -1) {
- return i;
- }
- }
- }
- /*
- * 判断用户支持html5 还是flash
- *
- * @return {string} 判断是否支持flash或者html5
- -----------HTML5 支持html5
- -----------Flash 支持flash
- */
- U.CI.IsHF = function () {
- if (typeof (Worker) !== "undefined") { return "HTML5"; }
- else if (navigator.plugins["Shockwave Flash"]) { return "Flash"; }
- else { return false; }
- }
- /*
- * 获取浏览器信息
- *
- * @return {boolean} 是否支持flash
- */
- U.CI.Browser = function () {
- var i,
- _UAE = U.CI.UA,
- _USE = {},
- _UVE = U.MS.browser, //区分浏览器
- _UDE = U.MS.browsers, //个版本浏览器正则
- _UCE = ["360ee", "360se", "se", "lbbrowser", "aoyou", "theworld", "worldchrome", "greenbrowser", "qqbrowser", "baidu", "MicroMessenger", "QQ", "AppleWebKit"]; //知名公司浏览器区分
- //判断浏览器版本
- for (i in _UDE) {
- if (_UDE.hasOwnProperty(i)) {
- _USE[i] = _UDE[i].test(_UAE);
- }
- }
- //各个公司的版本
- for (i = 0; i < _UCE.length; i++) {
- if (_UAE.indexOf(_UCE[i]) > 0) {
- _USE[_UCE[i]] = true;
- break;
- }
- };
- _USE.ver = _UAE.match(_UVE); //设置版本
- return _USE; //获取内核和产商
- };
- //#endregion
|