Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Spring
- Microservice
- Algorithm
- kubernetes
- 클라우드 네이티브
- Semaphore
- MySQL
- 자바
- ingress
- 코틀린
- cloud native java
- 클라우드 네이티브 자바
- devops
- Adapter 패턴
- decorator 패턴
- 동기화
- ansible
- 머신러닝
- spring microservice
- nGrinder
- java
- CRD
- Stress test
- Kotlin
- 헬름
- cloud native
- 익명클래스
- 쿠버네티스
- 마이크로서비스
- MSA
Archives
- Today
- Total
카샤의 만개시기
HTML SMS 문자 보내기 (feat. =이 보내지지 않는다면?) 본문
HTML에서 SMS 문자 보내기는 굉장히 쉽게 되어 있다.
다음 스크립트를 a태그의 href 속성에 넣어주거나, javascript를 이용해 location.href = [스크립트]를 적어주면 된다.
(받을 번호는 생략이 가능하다)
안드로이드
sms:받을번호?body=보낼메세지
IOS
sms:받을번호&body=보낼메세지
한번에 사용하려면
'sms:' +(checkMobile() === 'ios' ? '&' : '?') + 'body=' + message
checkMobile 함수는 다음과 같다
function checkMobile() {
var varUA = navigator.userAgent.toLowerCase(); //userAgent 값 얻기
if (varUA.indexOf('android') > -1) { // 안드로이드
return "android";
} else if (varUA.indexOf('iphone') > -1 || varUA.indexOf('ipad') > -1 || varUA.indexOf('ipod') > -1 || varUA.indexOf('ios') > -1) { // IOS
return "ios";
} else { // IOS, 안드로이드 외
return "other";
}
}
SMS 메시지에서 = (equals sign)이 보내지지 않는다면?
SMS 메시지를 보낼때 =
기호 이후 메시지가 보내지지 않는 문제가 발생했다.
이 문제를 해결하기 위해서 encodeURIComponent, encodeURI, =, ==, %3D, %253D
등 다양한 방법을 시도해 보았지만 해결되지 않았다.
그래서 다양한 디바이스에서 확인해보았다.
IOS
var url = "sms:&body=" + encodeURIComponent("I'm at http://test.com?param=5s8");
location.href = url;
다음과 같이 정상적으로 동작함을 확인할수 있다..!
I'm at http://test.com?param=5s8
Android (특정 디바이스)
var url = "sms:?body=" + encodeURIComponent("I'm at http://test.com?param=5s8");
location.href = url;
하지만 안드로이드의 특정 디바이스에서는 다음과 같이 =이 보내지지 않는 문제가 발생했다.
I'm at http://test.com?param
이 문제는 모든 안드로이드 기기에서 발생하지 않고 특정 디바이스에서 발생된다.
(자세한 확인은 해보지 않았지만 갤럭시 디바이스에서 많이 일어나는 듯 하다.)
해결책
=을 보내지 않는 방법 말고는 사실상 없다.
=이 반드시 포함 되어야 한다면, 링크 단축 서비스를 이용하거나 redirect를 구현하여 사용해야한다...!
'Javascript' 카테고리의 다른 글
Javscript Clipboard (feat. 사파리에서 동작하지 않는다면?) (2) | 2020.07.21 |
---|
Comments