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 중국어 웹사이트의 기타 관련 기사를 참조하세요!