반응형
[javascript] 모바일SMS 문자 보내기
해당 기능은 문자를 보내는 방법이라기보다는 사용자가 내가 지정한 번호와 문구로 문자를 보낼 수 있도록
문자 화면으로 이동시켜주는 기능에 가깝습니다.
단순하게 공유하기 기능으로 작업하면 되겠다고 생각하고 작업을 했었는데,
세상의 모든 핸드폰은 안드로이드와 아이폰으로 나뉘어있다는 사실을 잠시 망각했었죠. (...)
내 폰(안드로이드)에서는 잘만 되는데 아이폰에서는 왜 그렇게 안 되던지.
보내는 기능에 앞서, 접속해오는 유저가 아이폰 유저인지 안드로이드 유저인지 확인부터 하는 작업을 거쳐야 합니다.
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 ) {
//IOS
return "ios";
} else {
//아이폰, 안드로이드 외
return "other";
}
}
해당 스크립트로 유저를 구분 짓는 것까지 완료되었다면 문자 보내는 기능부터 만들어야겠죠.
html 안에 class명이 btn이란 버튼이 있다 가정하고 아래 스크립트를 추가해줍니다.
const btn = document.querySelector('.btn');
btn.addEventListener('click', function() {
checkM(checkMobile());
});
function checkM(m){
location.href = 'sms:' +'전화번호'+(m == 'ios' ? '&' : '?') + 'body='+ encodeURIComponent("보낼 내용");
}
해당 스크립트를 적어주면 안드로이드에서도 아이폰에서도 사용되는 기능이 적용됩니다.
안드로이드와 아이폰이 location.href에서 각각 어떻게 다른지는 아래 내용에서 참고 부탁드립니다.
// 안드로이드
location.href = sms:받을번호?body=보낼메세지;
// 아이폰
location.href = sms:받을번호&body=보낼메세지;
* 참고 사이트 : https://justbobby.tistory.com/20 , https://justbobby.tistory.com/21
반응형
'[공부]하는 몽씨 > javascript' 카테고리의 다른 글
[javascript] 팝업창 열고 지정 영역 제외 인쇄하기 (0) | 2021.07.04 |
---|---|
[javascript] 현재 시간 select로 잡기 (0) | 2020.07.16 |
[javascript] input 이메일 유효성 체크 (0) | 2020.03.18 |
[javascript] 자동롤링되는 실시간검색어 만들기 (2) | 2018.05.18 |
[javascript] on,off 스위치 만들기 (토글버튼: Togglebutton) (4) | 2017.08.21 |