안녕하세요
안드로이드일때는 A배너가 표시되고
아이폰일때는 B 배너가 표시되게 하는 소스 있을까요?
구글에 검색해봤으나 다 리디렉션하는 소스만 존재하네요.
톰캣
Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.
안녕하세요
안드로이드일때는 A배너가 표시되고
아이폰일때는 B 배너가 표시되게 하는 소스 있을까요?
구글에 검색해봤으나 다 리디렉션하는 소스만 존재하네요.
댓글 8
현재 모바일 인식하는 코딩소스는 많이 있는 것 같구요. 안드, 아이폰도 구분 가능한 것 같은데//
이러면 조건문으로 원하는 배너 표출할 수 있지 않나요?
일부 부분적은 코드만 있고 소스 내용이 달리보이는 코드는 없는것 같네요.
그냥 사용하시는 앱에서 제공하는 조건으로 안드로이드앱과 아닌 모든것을 구분하시는게 좋습니다.
아이폰에서 안드로이드 어플 받으라고 배너 넣으면 공간만 낭비지요 ㅎㅎ
그게 스크립트를 써서 div 2개를 일단 출력시킨다음 유저에이전트를 가지고 와서 그거에따라 display 하던지 none으로 하는 건데요. 저는 오래 써봤는데 그냥 아이폰에서 보여도 그냥 앱만 구분하는게 좋다는 결론에 도달했습니다.
효율적이지 못하다고 표현한건 살짝 다른 배너가 보였다가 사라지고 전체적인 퍼포먼스에 별로 도움이 되지 못하는 듯 해요. 여기인지 공홈인지 검색해보시면 제가 질문한거에 제가 얻은 답이 있을겁니다.
거듭 하지 않으시길 조언드리면서...
<script type="text/javascript">
var broswerInfo = navigator.userAgent;
if(broswerInfo.indexOf("APP_XEPUSH_Android")>-1 || broswerInfo.indexOf("iPhone")>-1){
document.getElementById("android_no").style.display="none";
document.getElementById("android_on").style.display="block";
}
</script>
위 스크립트가 제가 쓰던건데 앱에 들어간 구문이 사용하시는 앱에서 넣어준거로 변경한 스크립트 입니다.
위 스크립트는 보시면 id가 android_no / android_on 인 두개를 컨트롤 합니다.
아이폰&앱의 경우는 보이지 않게
나머지 결국 안드로이드브라우저와 여타 브라우저일겁니다. 에서는 보이게 처리하는 스크립트입니다.
두개의 div id를 가진 것이 꼭 출력이 되어야 합니다. 그러니 서로 다른배너를 2개 만드시거나 혹은 하나는 빈것으로 하시거나 하셔야 할 겁니다.
제가 실제로 모바일레이아웃 맨 하단에 넣고 사용했던 것이라 동작했던 것 입니다.
(div가 먼저 출력되어야 컨트롤이 되니 맨 하단에 넣어주세요.)
$useragent=$_SERVER['HTTP_USER_AGENT'];
if (preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|iPad|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))
{
$moblebrowser_is = "yes";
echo("<meta http-equiv='Refresh' content='0; URL=/mobile/'>");
}
위 소스는 유져 에이전트에서 모바일이라고 판단할 수 있는 정규식을 가진 경우에는 중괄호 안의 것을 실행하라는 것입니다.
적당히 필요한대로 수정해서 쓰면 되겠죠.
if문 사용법은 아시죠?
XE에서 작동할지는 모르겠지만
<?php
$useragent=$_SERVER['HTTP_USER_AGENT'];
if (preg_match('/android)
{
$moblebrowser_is = "yes";
echo("배너주소");
}
?>
해서 사용해도 충분하겠네요
감사합니다.