JS判断客户端是否为手机移动设备

JS判断客户端是否为手机移动设备

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
function is_mobile() {
var ua = navigator.userAgent,
isMobile = false;
var ma = [
"240x320",
"acer",
"acoon",
"acs-",
"abacho",
"ahong",
"airness",
"alcatel",
"amoi",
"android",
"anywhereyougo.com",
"applewebkit/525",
"applewebkit/532",
"asus",
"audio",
"au-mic",
"avantogo",
"becker",
"benq",
"bilbo",
"bird",
"blackberry",
"blazer",
"bleu",
"cdm-",
"compal",
"coolpad",
"danger",
"dbtel",
"dopod",
"elaine",
"eric",
"etouch",
"fly ",
"fly_",
"fly-",
"go.web",
"goodaccess",
"gradiente",
"grundig",
"haier",
"hedy",
"hitachi",
"htc",
"huawei",
"hutchison",
"inno",
"ipad",
"ipaq",
"ipod",
"jbrowser",
"kddi",
"kgt",
"kwc",
"lenovo",
"lg ",
"lg2",
"lg3",
"lg4",
"lg5",
"lg7",
"lg8",
"lg9",
"lg-",
"lge-",
"lge9",
"longcos",
"maemo",
"mercator",
"meridian",
"micromax",
"midp",
"mini",
"mitsu",
"mmm",
"mmp",
"mobi",
"mot-",
"moto",
"nec-",
"netfront",
"newgen",
"nexian",
"nf-browser",
"nintendo",
"nitro",
"nokia",
"nook",
"novarra",
"obigo",
"palm",
"panasonic",
"pantech",
"philips",
"phone",
"pg-",
"playstation",
"pocket",
"pt-",
"qc-",
"qtek",
"rover",
"sagem",
"sama",
"samu",
"sanyo",
"samsung",
"sch-",
"scooter",
"sec-",
"sendo",
"sgh-",
"sharp",
"siemens",
"sie-",
"softbank",
"sony",
"spice",
"sprint",
"spv",
"symbian",
"tablet",
"talkabout",
"tcl-",
"teleca",
"telit",
"tianyu",
"tim-",
"toshiba",
"tsm",
"up.browser",
"utec",
"utstar",
"verykool",
"virgin",
"vk-",
"voda",
"voxtel",
"vx",
"wap",
"wellco",
"wig browser",
"wii",
"windows ce",
"wireless",
"xda",
"xde",
"zte",
"GiONEE",
"GiONEE-",
];
for (var i = 0, lens = ma.length; i < lens; i++) {
if (ua.indexOf(ma[i]) > -1) {
isMobile = true;
break;
}
}
return isMobile;
}
if (is_mobile() === true) {
document.write(navigator.userAgent + "<br>");
document.write("mobile access!");
//location.href = "http://blog.hanyi.pro/"
} else {
document.write(navigator.userAgent + "<br>");
//document.write('pc access!');
}

参考:http://levi.cg.am/?p=2214

Ubuntu 12.04下Sublime Text 2的详细安装与破解过程

Ubuntu 12.04下Sublime Text 2的详细安装与破解过程

记得之前也写过一篇文章《前端开发环境(ST2)搭建过程》,主要讲不同环境下安装的过程以及当时团队前端开发环境搭建过程(涉及到业务需求的一些组件、外部工具等等)。本篇文章意在详细讲解 Ubuntu 12.04(与版本无关)下安装破解 ST2 的过程。

使用 ST2 已有很久时间了,一直认为它是“最好的一款前端开发工具”,喜欢它体积小、速度快、外观简单、代码语法高亮清晰、插件丰富、安装简单。实际上 ST2 是一款共享软件,收费(59 刀)但可以永久免费试用的跨平台的编辑神器。好了,不多在这里扯蛋啦,有讲的不好、或者不清晰的地方还请指正。

为什么不使用 ST3 呢? (答:ST3 改动很大,不能与 ST2 兼容,因此没有丰富的插件,后期可以进行尝试安装。)

阅读更多
ST2 打开 .scss 文件时自动生成并打开 .dump 文件的 BUG

ST2 打开 .scss 文件时自动生成并打开 .dump 文件的 BUG

今天同事用 ST2 打开.scss 项目文件时,出现自动生成并打开一个.dump 文件,而且文件中的代码不再高度显示,分析如下:

1..dump 是什么文件?(系统内存中存储的临时文件)。

2.打开.scss 文件时生成.dump 文件,这是为什么?(.scss 需要编译成.css 文件,同时存在编码问题)。

3.什么影响打开.scss 文件时才会生成.dump 文件?(ST2 安装的插件、插件文件损毁)。

通过以上分析,我们开始 Remove Package 中可能引起问题的插件例如 SublimeOnSaveBuild、PyV8,重启 ST2 发现问题依然存在,后面通过搜索相关资料发现有类似问题的答案,重新查看了 ST2 中安装的插件发现安装了 GBK Encoding Support,移除该插件后,重新打开.scss 文件,代码正常高度显示。

阅读更多
前端系列 Javascript “小题大做”

前端系列 Javascript “小题大做”

背景

在内部分享会上多次听到后端同学希望前端同学能分享一些 JS 的基础知识和技巧。一直以来都忙于各种事情,好久没有关注 Javascript 基础内容,借今天@valleykid(ICAT 作者)在群里发的一个 JS 小题来揭开 JavaScript 精典问题集的大门。

以后将持续收集和更新 JavaScript 各种代表性“小题”,并做出详细的解答。

阅读更多
Ubuntu 12.0.4 下安装 Nodejs

Ubuntu 12.0.4 下安装 Nodejs

准备工作

1
sudo apt-get install g++ curl libssl-dev apache2-utils

安装方式(一):git clone

1
2
sudo apt-get install git-core
git clone git://github.com/ry/node.git
阅读更多