url에 /mobile/index.php 경로로 페이지 접속하는 방법
본문
우선 ?device=mobile 로 접속되는 것은 알고 있습니다.
그런데 제가 하고 싶은 것은 그누보드에 내장된 접속기기 판별을 거두고,
pc 환경에서 도메인/mobile/index.php 으로 접속시 모바일 페이지를 보고싶습니다.
현재는 그냥 하얀 백지만 나오는 상태인데요...;;
그누보드를 사용하되, G5_IS_MOBILE 은 false 로 바꾸고
모바일 페이지 접속방법을
접속기기 판별 에서 디바이스 크기 로 바꾸고 싶습니다.
비효율적인거 같은데 왜 이런식으로 구현해야하는지는 모르겠지만요...
혹시나 가능은 한건지 가능하다면 어떤식으로 작업을 하는게 나을지 조언 구하고자 글 올려봅니다;;
답변 3
왜 굳이 그렇게 하는지는 모르겠으나... 말씀하신것처럼 비효율적이라...
굳이 원하신다면
mobile/index.php에서
맨위 if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
요거 위에
include_once('../common.php');
define('_INDEX_', true);
선언해주시면됩니다
디바이스 크기는 자바스크립트에서만 가능합니다.
사용하시려면 창 크기를 판별하는 페이지 따로, 보여질 페이지 따로 해서 두가지의 페이지가 있어야 하며 페이지 이동을 쓰는 수 밖에 없습니다.
ajax등을 이용하면 페이지 이동없이도 보여줄 수 있겠지만 그누보드 구조상 ajax를 이용한 페이지 뷰는 힘들거라 생각되네요.
그리고 index.php의 설정에 아마 직접 주소 접근을 쳐서 막는 구문이 최상위에 있을것인데 해당 부분을 제거 하시면 됩니다.
인덱스 페이지에 아래 스크립트를 넣어주세요
<script language="javascript"> //Go to Mobile Page | |
// Mobile여부를 구분하기 위함 | |
var uAgent = navigator.userAgent.toLowerCase(); | |
// 아래는 모바일 장치들의 모바일 페이지 접속을위한 스크립트 | |
var mobilePhones = new Array('iphone', 'ipod', 'ipad', 'android', 'blackberry', 'windows ce','nokia', 'webos', 'opera mini', 'sonyericsson', 'opera mobi', 'iemobile'); | |
for (var i = 0; i < mobilePhones.length; i++) | |
if (uAgent.indexOf(mobilePhones[i]) != -1) | |
document.location = "mobile url"; | |
</script> |