url에 /mobile/index.php 경로로 페이지 접속하는 방법

url에 /mobile/index.php 경로로 페이지 접속하는 방법

QA

url에 /mobile/index.php 경로로 페이지 접속하는 방법

답변 3

본문

우선 ?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);

선언해주시면됩니다

 

 

답변을 이제야 봤네요... 일단 알려주신대로 모바일페이지에서 개별페이지 접근을 주석처리하고 common 불러오고 인덱스 true 처리하니 /mobile/index.php 로 접속이 가능하네요!!

그럼 이제 스크립트로 디바이스 사이즈 체크해서 일정 분기 이하일 때

location.href = '/mobile/index.php' 로 넘겨주면 되겠네요;;

이게 저도 왜 저렇게까지 하려는지는 모르겠습니다...

일단 반응형은 아니구요... 이런 용어가 맞는지는 모르겠지만 세미반응형이랄까요...??

모바일용페이지는 반응형 / pc용페이지는 그냥 pc용...

그래서 resize 시에 일정 분기 이하가 되면 모바일용페이지로 넘겨주려는 의도 같습니다.

모바일용 코딩과 pc용 코딩이 한 페이지에 담아놓고 display none block 하기엔 페이지만 길어져서 가독성이 떨어지고 파일이 지저분해져서 인건지...;;

일단 방법을 알았으니 하나씩 해결해나가봐야겠네요!! 감사합니다~!!

디바이스 크기는 자바스크립트에서만 가능합니다.
사용하시려면 창 크기를 판별하는 페이지 따로, 보여질 페이지 따로 해서 두가지의 페이지가 있어야 하며 페이지 이동을 쓰는 수 밖에 없습니다.

ajax등을 이용하면 페이지 이동없이도 보여줄 수 있겠지만 그누보드 구조상 ajax를 이용한 페이지 뷰는 힘들거라 생각되네요.

그리고 index.php의 설정에 아마 직접 주소 접근을 쳐서 막는 구문이 최상위에 있을것인데 해당 부분을 제거 하시면 됩니다.

넵 말씀해주신대로 php로는 디바이스 크기 체크를 못하는 것은 알고 있어서 스크립트로 구현해야하는 것 또한 알고 있습니다!!

또 알려주신대로 개별페이지 접근 부분처리를 님께서 알려주셔서 해결했습니다!!

이제 스크립트로 일정 분기이하가 되면 페이지 이동 처리를 해줘야 할 것 같습니다..;;

페이지 이동 또한 말씀하신대로 ajax로 구현하는게 아니기에 약간 애매하긴 하겠지만요;;(리사이징시 새로고침한것 같은 느낌일꺼라서...)

인덱스 페이지에 아래 스크립트를 넣어주세요

 

<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>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61,339
© SIRSOFT
현재 페이지 제일 처음으로