如何在React Native WebView中控制新的Tab操作

时间:2018-07-31 04:04:06

标签: reactjs react-native webview

我正在使用React Native WebView。

特定网页存在问题。

1。移动浏览器的正常行为

单击“查找邮政编码”按钮将打开一个新选项卡,查找并选择地址,该选项卡将自动关闭。所选的邮政编码在特定的输入框中输入。

enter image description here

2。反应原生WebView的错误

如果单击“查找邮政编码”按钮,则页面将打开到下一页,而不是新标签页。当我选择地址时,查找邮政编码页面不会自动关闭。因为它不是选项卡。如果我按“后退”按钮完全离开订单页面。

enter image description here

我单击了相关主页上的“查找邮政编码”按钮时,检查了要调用的功能。

    function post_daum() {
        new daum.Postcode({
            oncomplete: function(data) {
                // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.

                // 각 주소의 노출 규칙에 따라 주소를 조합한다.
                // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
                var fullAddr = ''; // 최종 주소 변수
                var extraAddr = ''; // 조합형 주소 변수

                // 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
                if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
                    fullAddr = data.roadAddress;

                } else { // 사용자가 지번 주소를 선택했을 경우(J)
                    fullAddr = data.jibunAddress;
                }

                // 사용자가 선택한 주소가 도로명 타입일때 조합한다.
                if(data.userSelectedType === 'R'){
                    //법정동명이 있을 경우 추가한다.
                    if(data.bname !== ''){
                        extraAddr += data.bname;
                    }
                    // 건물명이 있을 경우 추가한다.
                    if(data.buildingName !== ''){
                        extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
                    }
                    // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
                    fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
                }

                // 우편번호와 주소 정보를 해당 필드에 넣는다.
//                document.getElementById('sample6_postcode').value = data.zonecode; //5자리 새우편번호 사용
                document.getElementById('daum_add1').value = fullAddr;

                document.getElementById('daum_post1').value = data.zonecode.substr(0,3); //5자리 새우편번호 사용
                document.getElementById('daum_post2').value = data.zonecode.substr(3,2); //5자리 새우편번호 사용

                // 커서를 상세주소 필드로 이동한다.
                document.getElementById('daum_add2').focus();
            }
        }).open();
    }

0 个答案:

没有答案