Heim  >  Artikel  >  Web-Frontend  >  Wie kann das Problem gelöst werden, dass iframe auf iOS nicht unterstützt wird?

Wie kann das Problem gelöst werden, dass iframe auf iOS nicht unterstützt wird?

零下一度
零下一度Original
2017-07-20 13:27:563610Durchsuche

Es gibt viele seltsame Probleme mit Iframes und viele Android-Telefone funktionieren nicht richtig.
Es wird nicht empfohlen, Iframes in Apps zu verwenden.
Doppelte Webansicht ist sicherer, das heißt, laden Sie die Seite, die Sie ursprünglich im Iframe platziert haben, in eine Webansicht und hängen Sie sie an die Hauptseite

Die spezifische Leistung besteht darin, dass die Höhe der verschachtelten Unterseite größer ist Als die Höhe der übergeordneten Seite wird ein Popup-Ereignis auf der Unterseite ausgelöst. Wenn die Höhe der Unterseite zu diesem Zeitpunkt viel größer ist als die Höhe der übergeordneten Seite, wird dies der Fall sein Eine Situation, in der das Popup nicht gefunden werden kann. Tatsächlich befindet es sich unterhalb des Ansichtsfensters. Die Position ist nur relativ zur Unterseite, nicht relativ zum Ansichtsfenster. Ich habe viele Methoden ausprobiert, aber keine war ideal, und das Android-System hat gut funktioniert, daher dachte ich, dass das iOS-System direkt zur Seite springen kann, während das Android-System normalerweise iframe verwendet (wenn das Android-System direkt zur Seite springt, wird dies der Fall sein). Das heißt, wenn die physische Eingabetaste gedrückt wird, kann der Inhalt der vorherigen Formularübermittlungsseite nicht normal gelöscht werden. Wenn mehrere Formulare verschachtelt sind, werden die entsprechenden Felder verwirrt. Verwenden Sie daher iframe. Sehen Sie sich den Code an direkt:

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

Ich habe lange daran gearbeitet und mein eigenes Wachstum aufgezeichnet. Wenn Sie Freunde haben, die auf ähnliche Probleme stoßen, können Sie auch einen Blick darauf werfen Ich hoffe, Bereiche zu sehen, die verbessert werden können. Bitte geben Sie mir einige Ratschläge.

Das obige ist der detaillierte Inhalt vonWie kann das Problem gelöst werden, dass iframe auf iOS nicht unterstützt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was sind Bootstrap-Swales?Nächster Artikel:Was sind Bootstrap-Swales?