Maison >interface Web >tutoriel HTML >Comment résoudre le problème selon lequel l'iframe n'est pas pris en charge sur iOS ?

Comment résoudre le problème selon lequel l'iframe n'est pas pris en charge sur iOS ?

零下一度
零下一度original
2017-07-20 13:27:563766parcourir

Il existe de nombreux problèmes étranges avec les iframes et de nombreux téléphones Android ne fonctionnent pas correctement.
Il n'est pas recommandé d'utiliser des iframes sur les applications.
La double vue Web est plus sûre, c'est-à-dire chargez la page que vous avez initialement placée dans l'iframe dans une vue Web et ajoutez-la à la page principale

La performance spécifique est que lorsque la hauteur de la sous-page imbriquée est plus grande que la page parent La hauteur de la page, et un événement pop-up est déclenché dans la sous-page. À ce moment, si la hauteur de la sous-page est bien supérieure à la hauteur de la page parent, il y aura. une situation dans laquelle la fenêtre contextuelle est introuvable. En fait, elle peut se trouver sous la fenêtre d'affichage. La position est uniquement positionnée par rapport à la sous-page, et non par rapport à la fenêtre d'affichage. J'ai essayé de nombreuses méthodes, mais aucune n'était idéale et le système Android fonctionnait bien, j'ai donc pensé que le système iOS pouvait accéder directement à la page, tandis que le système Android utilise normalement iframe (si le système Android saute directement la page, il y aura Il y a des problèmes, c'est-à-dire que lorsque la touche de retour physique est enfoncée, le contenu de la page de soumission du formulaire précédente ne peut pas être effacé normalement, et si plusieurs formulaires sont imbriqués, les champs correspondants seront confus, utilisez donc iframe (Regardez le code). directement :

<!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>

J'y travaille depuis longtemps et j'ai enregistré ma propre croissance. Si vous avez des amis qui rencontrent des problèmes similaires, vous pouvez aussi y jeter un œil. j'espère voir des domaines qui peuvent être améliorés. Veuillez me donner quelques conseils.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn