일전에 모바일웹에서 a 태그를 활용한 문자 메시지 내용을 입력하는 방법을 포스트 한적 있는데


이번엔 그걸 좀더 심화시켜 함수로 만들어 쓰는 방법이다



출처 : https://stackoverflow.com/questions/19387614/window-location-href-for-sms-messaging-platform-compatability


var ua = navigator.userAgent.toLowerCase();
var url;

if (ua.indexOf("iphone") > -1 || ua.indexOf("ipad") > -1)
    url = "sms:;body=test";
else
    url = "sms:?body=test";

//window.location.href = url;
 window.open (url);


stackoverflow 에서 찾은 소스인데 아래와 같이 함수로 만들어 사용하면 되겠다.



// 전송할 번호만 대입하면 된다.
function sms_msg( number ){
var ua = navigator.userAgent.toLowerCase();
var url;

if (ua.indexOf("iphone") > -1 || ua.indexOf("ipad") > -1)
	url = "sms:" + number + ";body=test";
else
	url = "sms:" + number + "?body=test";

//window.location.href = url;
window.open (url);
}

#자바스크립트 #모바일웹 #SMS #a태그 #smsbody #문자대입 #문자전송 #a태그활용 #모바일a태그 #php #넷프로 #netpro




일반적인 문자전송 앱으로 연결하는 링크는 아래와 같다


<a href="sms:010-1234-5678">문자로문의하기</a>



하지만 기본으로 내용을 지정해주고 싶다면 body 태그를 써준다.


<a href="sms:010-1234-5678?body=문의합니다!">문자로문의하기</a>







body 태그는 안드로이드에서만 작동하고 아이폰에서는 안된다...


ios 는 버전별로 인자전달방식이 다르다


Android (버전상관 없음) : sms:010-1234-5678?body=문의합니다


IOS 구버전 (8버전이하) : sms:010-1234-5678;body=문의합니다


IOS 신버전 (9버전이상) : sms:010-1234-5678&body=문의합니다



IOS 는 자동으로 업데이트 해주니 8버전 이하는 무시하고 체크하자


ex)


<a href="sms:010-1234-5678<?php echo (preg_match('/iPhone/', $_SERVER['HTTP_USER_AGENT'])) ? '&' : '?'; ?>body=문의합니다">문자로문의하기</a>


HTTP_USER_AGENT 로 접근 device 를 아이폰인지 아닌지만 체크하면 된다.




+ Recent posts