pc에서 모바일 화면이 나오는데 답을 모르겠습니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
pc에서 모바일 화면이 나오는데 답을 모르겠습니다.

QA

pc에서 모바일 화면이 나오는데 답을 모르겠습니다.

본문

2009101344_1566288363.046.png

모바일 전용 홈페이지를 만들려고 했습니다.

 

pc에서 들어가면 위 사진처럼 모바일로 들어가라고 하면서 작은 화면을 보여주고

스마트폰으로 들어가면 정상적인 화면이 보이도록이요.

 

그래서 pc화면과 모바일면을 따로 쓰려고 컨피그에서 both 시켜주고

테마/모바일/인덱스에서는 깔끔하게 만들어 놓고

pc화면에서 모바일 화면을 불러올 수 있도록 테마/인덱스에서

<?php
define('_INDEX_', true);
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

if (G5_IS_MOBILE) {
    include_once(G5_THEME_MOBILE_PATH.'/index.php');
    return;
}

include_once(G5_THEME_PATH.'/head.php');

?>

<style>
    #hd{display:none;}
    #pc_wrap{width:1200px; margin:0 auto;}
    #pc_wrap div{float:left;}
    #ft{display:none;}
</style>

<div id="pc_wrap">
    <div id="pc_frame"style="background:url(/img/mobile-bg.png) no-repeat; background-size:contain; width:600px; height:800px;">
            <iframe src="<?php echo G5_URL ?>/index.php?device=mobile" frameborder="0" width="550px" height="730px" marginwidth="0" marginheight="0" scrolling="yes" style="position:relative; top:25px; left:25px; z-index:10; margin:0 auto; border-radius:6px;"></iframe>
    </div>

    <div style="width:49%; height:785px; margin:0 auto; text-align:center; background:#fff; padding-top:100px;">
        <img src="<?=G5_IMG_URL?>/mobile-bg1.png" alt="img"/>
    </div>
</div>

<?php
include_once(G5_THEME_PATH.'/tail.php');
?>

이런식으로 코드를 짜서 만들었는데

pc에서는 처음엔 잘 나오다가 새로고침 누르면 모바일 화면이 보이고 모바일에서는 정상적으로 모바일로 보입니다. 

아이프레임 때문일까요?

도대체 왜 pc에서 문제가 일어나는지 모르겠습니다.

 

도메인 뒤에 device 붙이니까 새로고침해도 문제 없이 잘 떠서

강제로 device 붙을 수 있게 웹,모바일 접속 종류 체크해서 goto device=pc 했더니

리다이렉트 횟수가 많다고 페이지 안뜨고 다른 방법으로도 강제로 주소 옮기려고 했더니 무한로딩걸리고 정말 해결하고싶습니다.

 

질문방에 수없이 많이 질문했지만 독학으로 배운 그누보드에 이해력이 딸려서 어디에 넣어야하는지 어떻게 써야하는지 모르겠습니다.

고수님들 코딩 바보에서 구제해주세요ㅠㅠㅠ

고수님들의 자세한 답변 부탁드립니다.

 

이 질문에 댓글 쓰기 :

답변 3

제가 알려드린 방법도 안되시면 최후의 방법으로 제이쿼리를..

 

PC 화면에서 새로고침하면 모바일로 뜬다고 하셨으니 

 

테마의 index.php 하단에

<script>
$(document).ready(function(){
document.onkeydown = fkey;
document.onkeypress = fkey;
document.onkeyup = fkey;
 
var wasPressed = false;
 
function fkey(e){
    e = e || window.event;
    if(wasPressed) return;
 
    if(e.keyCode == 116){
        location.href = "/index.php?device=pc";
    }
}
});
</script>

이걸 추가해보세요. 새로고침 누르면 "/index.php?device=pc" 로보내버리는 겁니다.

그런데 이건 PC버전에서 홈페이지 방문후 다시 방문하는 경우는 모바일로 보일겁니다..

어제 같은 질문글에 댓글 달아드렸었는데 그것도 해보셨나요?

출력한 소스만 보곤 정확히 모르지만요.

결국 프레임이 2개네요..

아이프래임도 프레임이니 아이프레임에서 읽오 오는 파일 또는 연결된 파일 소스에 모바일인지 PC인지 구별캐 해야할듯 싶네요..

 

답변을 작성하시기 전에 로그인 해주세요.
전체 31
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT