>  기사  >  웹 프론트엔드  >  iOS에서 iframe이 지원되지 않는 문제를 해결하는 방법은 무엇입니까?

iOS에서 iframe이 지원되지 않는 문제를 해결하는 방법은 무엇입니까?

零下一度
零下一度원래의
2017-07-20 13:27:563701검색

iframe에는 이상한 문제가 많이 있고, 많은 Android 휴대폰도 정상이 아닙니다.
앱에서는 iframe을 사용하지 않는 것이 좋습니다.
더블 웹뷰가 더 안전합니다. 즉 원래 iframe에 배치한 페이지를 웹뷰로 로드하여 메인 페이지에 추가하는 것입니다.

구체적인 성능은 중첩된 하위 페이지의 높이가 상위 페이지의 높이보다 클 때입니다. 페이지 및 하위 페이지에서 팝업 이벤트가 실행될 때 하위 페이지의 높이가 상위 페이지의 높이보다 훨씬 크면 팝업 상자가 실제로 발견되지 않을 수 있습니다. 뷰포트 아래에 있어야 하며 팝업 상자의 위치는 뷰포트가 아닌 페이지에만 상대적으로 위치합니다. 여러 가지 방법을 시도했지만 이상적인 것은 하나도 없었고, 안드로이드 시스템은 잘 작동했기 때문에 iOS 시스템은 페이지로 직접 점프할 수 있는 반면 안드로이드 시스템은 iframe을 정상적으로 사용한다고 생각했습니다(안드로이드 시스템이 페이지를 직접 점프하면 즉, 물리적 리턴키를 눌렀을 때 이전 폼 제출 페이지의 내용이 정상적으로 지워지지 않고, 여러 폼이 중첩되면 해당 필드가 헷갈리게 되므로 iframe을 사용), 코드를 살펴보세요 직접:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"><title>网上申请</title></head><body><script src="js/zepto.min.js?1.1.11"></script><script>$(function() {var originId = sessionStorage.setItem('originId', '3'); //originId为后台需要判断是哪个入口的值var u = navigator.userAgent;var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端if (isAndroid) {//安卓终端使用iframevar winH = $(window).height();var iframe = document.createElement('iframe');
            iframe.src = "index_common.html";
            iframe.style.width = '100%';
            iframe.style.height = winH + 'px';
            iframe.style.border = '0 none';
            iframe.setAttribute('scrolling', 'auto');
            document.body.appendChild(iframe);
        } else if (isiOS) {//iOS终端直接页面跳转            location.href = 'index_common.html';
        } else {
            location.href = 'index_common.html';
        }
    })</script></body></html>

저는 오랫동안 저의 성장을 기록해 왔습니다. 비슷한 문제를 겪는 친구들이 있다면 살펴보시고 개선할 수 있는 부분도 조언해 주시면 좋겠습니다.

위 내용은 iOS에서 iframe이 지원되지 않는 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.