웹뷰에서 본인인증시 문제가 있습니다. 한번만 읽어봐주십시요 !감사합니다 ㅜ
본문
안녕하세요
웹뷰에서 회원가입에 있는 휴대폰 본인인증하려고 하는데요 그냥 기본브라우저로 들어가서 인증하면 정상적으로 값이 잘 넘어오는데요. 안드로이드 웹뷰로 만든 apk파일에서는 값이 넘어오지가 않네요...
몇가지 시도를 해보고있는데어떻게 해야할까요?,,,
1. 본인인증 창을 iframe 을 이용하여 시도 ->실패. 이유: 결과값 리턴하는 hpcert2.php 에서 제대로 못넘김
2. callBrowser, callChrome 을 이용해서 새로운 외부 브라우저로 열려고 하는 방법이 있다는데 이건 어떻게 써야할지 모르겠네요..
3. hpcert2.php 에 리턴하는 곳에 $(
"input[name=name]"
, parent.document.body).val() 과 같이 해보았는데 안되네요. opener 문제로 웹뷰에서 값이 잘 전달되지 않는다고 하는데 참 어렵네요..
다음은 제가 수정한 코드입니다.
모바일로 접속하여 인증버튼 클릭시 iframe 이 작동되게 하였습니다.
----register_form.skin.php--------
<div>
<iframe id="hp1" src="/plugin/okname/hpcert1.php" frameborder="yes" style="position:absolute;top:0%;left:0%;visibility:hidden;z-index: 10;" height="90%" width="100%"></iframe>
</div>
<script>
$("#win_hp_cert").click(function() {
if(!cert_confirm())
return false;
var hp1 = document.getElementById("hp1");
var hp2 = document.all.hp1.style.visibility = 'visible';
<?php
switch($config['cf_cert_hp']) {
case 'kcb':
if(preg_match("/".G5_MOBILE_AGENT."/i", $_SERVER['HTTP_USER_AGENT'])) {
echo "hp2";
break;
}else {
$cert_url = G5_OKNAME_URL.'/hpcert1.php';
$cert_type = 'kcb-hp';
break;
}
-------------------------------------
-------------------------hpcert2.php----------
<script>
$(function() {
if(preg_match("/".G5_MOBILE_AGENT."/i", $_SERVER['HTTP_USER_AGENT'])) {
$("input[name=mb_hp]", parent.document.body).val("<?php echo $phone_no; ?>").attr("readonly", true);
}else{
var $opener = window.opener;
$opener.$("input[name=cert_type]").val("<?php echo $cert_type; ?>");
$opener.$("input[name=mb_name]").val("<?php echo $mb_name; ?>").attr("readonly", true);
$opener.$("input[name=mb_hp]").val("<?php echo $phone_no; ?>").attr("readonly", true);
$opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");
alert("본인의 휴대폰번호로 확인 되었습니다.");
window.close();
}
});
</script>
끝까지 읽어주셔서 감사합니다~(__)