-
Notifications
You must be signed in to change notification settings - Fork 0
/
detect.html
76 lines (63 loc) · 2.12 KB
/
detect.html
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
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript">
// 마켓 주소 세팅을 미리 해두었습니다. a=안드로이드, i=iOS
var market_a = "market://details?id=com.kakao.talk";
var market_i = "https://itunes.apple.com/~~~~~~~~~~~~~~";
var currentOS;
var mobile = (/iphone|ipad|ipod|android/i.test(navigator.userAgent.toLowerCase()));
if (mobile) {
// 유저에이전트를 불러와서 OS를 구분합니다.
var userAgent = navigator.userAgent.toLowerCase();
if (userAgent.search("android") > -1)
currentOS = "android";
else if ((userAgent.search("iphone") > -1) || (userAgent.search("ipod") > -1)
|| (userAgent.search("ipad") > -1))
currentOS = "ios";
else
currentOS = "else";
} else {
// 모바일이 아닐 때
currentOS = "nomobile";
}
// 바로재생, 다운로드 버튼 클릭
function checkAppInstall() {
// 앱에 설정해놓은 커스텀 스킴. 여기선 "customScheme"
var url = "customScheme://blahblah~";
if(currentOS == "android") {
// 안드로이드는 미리 만들어둔 iframe에
var invisible_div = document.getElementById("invisible_div");
invisible_div.innerHTML = "<iframe src=" + url + " onload='goMarket()'></iframe>";
} else if(currentOS == "ios") {
setTimeout( function() {
goMarket();
}, 1000);
location.href = url;
} else {
alert("안드로이드와 아이폰에서만 사용 가능");
}
return false;
}
// 마켓 이동
function goMarket() {
if(currentOS == "android") {
location.href=market_a;
} else if(currentOS == "ios") {
location.href=market_i;
} else {
/* 기타 OS일 때 */
}
}
</script>
<style>
.big { font-size : 5em; }
</style>
</head>
<body>
<button class="big" onclick="return checkAppInstall()">확인</button><br>
<!-- display 속성을 두어 숨어있는 div를 미리 만들어 놓습니다. 이 div에 iframe이 생성됩니다. -->
<div id="invisible_div" style="display:none;"></div>
</body>
</html>