영카트 모바일에서 회원가입, 주문서에서 주소검색 버그 해결책 정보
기타 영카트 모바일에서 회원가입, 주문서에서 주소검색 버그 해결책본문
회원가입이나 주문서에서 주소 검색을 할 경우
갤럭시에서 제공하는 기본 브라우저에서 버그가 존재해요( 모바일 파폭 등 다른 브라우저는 정상작동)
참고로 저는 갤럭시 노트 1이에요. 구형폰이에요.
그러니까 팝업이 나온 후 검색어 입력 후 결과 리스트에서 주소 게시물을 클릭 해도 부모페이지(parent.window)에 적용이 되지 않아요.
pc 버전은 되고요.
그래서 다음 주소 매뉴얼을 보고 소스를 수정 했는데요.
파일 : /js/common.js == > 이와 같이
/**
* 우편번호 창
**/
var win_zip = function(frm_name, frm_zip1, frm_zip2, frm_addr1, frm_addr2, frm_addr3, frm_jibeon) {
win_zip_close();
if(typeof daum === 'undefined'){
alert("다음 juso.js 파일이 로드되지 않았습니다.");
return false;
}
var element = document.getElementById('win_zipLayer');
if( g5_is_mobile ){
var oWidth = $("body").width();
element.style.width = oWidth + "px";
element.style.marginLeft = (oWidth / 2) * -1 + "px";
}
new daum.Postcode({
oncomplete: function(data) {
// 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
// 우편번호와 주소 및 영문주소 정보를 해당 필드에 넣는다.
var of = document[frm_name];
of[frm_zip1].value = data.postcode1;
of[frm_zip2].value = data.postcode2;
of[frm_addr1].value = data.address1;
of[frm_addr2].value = "";
of[frm_addr3].value = "";
if( data.addressType == "R" ){ //도로명이면
of[frm_addr3].value = data.address2;
}
if(of[frm_jibeon] !== undefined){
of[frm_jibeon].value = data.addressType;
}
of[frm_addr2].focus();
// iframe을 넣은 element를 안보이게 한다.
element.style.display = 'none';
},
width : '100%',
height : '100%'
}).embed(element);
// iframe을 넣은 element를 보이게 한다.
element.style.display = 'block';
}
var win_zip_close = function() {
// iframe을 넣은 element를 안보이게 한다.
var element = document.getElementById('win_zipLayer');
element.style.display = 'none';
}
파일 : /tail.sub.php
<div id="win_zipLayer" style="display:none;border:1px solid;width:500px;height:300px;margin:5px 0;top:100px;left:50%;margin-left:-250px;position:fixed;-webkit-overflow-scrolling:touch;">
<img src="//i1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnFoldWrap" style="cursor:pointer;position:absolute;right:0px;top:-1px" onclick="win_zip_close()" alt="접기 버튼">
다음 주소 방식을 iframe 방식으로 하면 모바일, pc 전부 정상 작동 해요.
소스를 첨부파일로 업로드 할게요.
갤럭시에서 제공하는 기본 브라우저에서 버그가 존재해요( 모바일 파폭 등 다른 브라우저는 정상작동)
참고로 저는 갤럭시 노트 1이에요. 구형폰이에요.
그러니까 팝업이 나온 후 검색어 입력 후 결과 리스트에서 주소 게시물을 클릭 해도 부모페이지(parent.window)에 적용이 되지 않아요.
pc 버전은 되고요.
그래서 다음 주소 매뉴얼을 보고 소스를 수정 했는데요.
파일 : /js/common.js == > 이와 같이
/**
* 우편번호 창
**/
var win_zip = function(frm_name, frm_zip1, frm_zip2, frm_addr1, frm_addr2, frm_addr3, frm_jibeon) {
win_zip_close();
if(typeof daum === 'undefined'){
alert("다음 juso.js 파일이 로드되지 않았습니다.");
return false;
}
var element = document.getElementById('win_zipLayer');
if( g5_is_mobile ){
var oWidth = $("body").width();
element.style.width = oWidth + "px";
element.style.marginLeft = (oWidth / 2) * -1 + "px";
}
new daum.Postcode({
oncomplete: function(data) {
// 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
// 우편번호와 주소 및 영문주소 정보를 해당 필드에 넣는다.
var of = document[frm_name];
of[frm_zip1].value = data.postcode1;
of[frm_zip2].value = data.postcode2;
of[frm_addr1].value = data.address1;
of[frm_addr2].value = "";
of[frm_addr3].value = "";
if( data.addressType == "R" ){ //도로명이면
of[frm_addr3].value = data.address2;
}
if(of[frm_jibeon] !== undefined){
of[frm_jibeon].value = data.addressType;
}
of[frm_addr2].focus();
// iframe을 넣은 element를 안보이게 한다.
element.style.display = 'none';
},
width : '100%',
height : '100%'
}).embed(element);
// iframe을 넣은 element를 보이게 한다.
element.style.display = 'block';
}
var win_zip_close = function() {
// iframe을 넣은 element를 안보이게 한다.
var element = document.getElementById('win_zipLayer');
element.style.display = 'none';
}
파일 : /tail.sub.php
<div id="win_zipLayer" style="display:none;border:1px solid;width:500px;height:300px;margin:5px 0;top:100px;left:50%;margin-left:-250px;position:fixed;-webkit-overflow-scrolling:touch;">
<img src="//i1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnFoldWrap" style="cursor:pointer;position:absolute;right:0px;top:-1px" onclick="win_zip_close()" alt="접기 버튼">
다음 주소 방식을 iframe 방식으로 하면 모바일, pc 전부 정상 작동 해요.
소스를 첨부파일로 업로드 할게요.
추천
0
0
댓글 1개
파일좀 부탁해요