Beispielseite Quelle:IFrame Höhe Probleme auf iOS (mobile Safari)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>Page</title>
</head>
<body>
<div class="main" style="height: 100%;">
<div class="header" style="height: 100px; background-color: green;"></div>
<iframe src="http://www.wikipedia.com"
style="height: 200px; width: 100%; border: none;"></iframe>
<div class="footer" style="height: 100px; background-color: green;"></div>
</div>
</body>
</html>
Das Problem ist, dass height
von 200px
vom IFrames Inline-Stil auf mobile Safari ignoriert:
Auch ich möchte die Höhe des IFrame dynamisch über Vanilla JavaScript ändern, die überhaupt nicht mit dem folgenden Code funktioniert:
Der Wert des height
-Stils wird entsprechend den Dev-Tools korrekt geändert, aber er wird einfach ignoriert, da sich die tatsächlich dargestellte Höhe des IFrame nicht ändert.
Dies scheint nur ein Problem in Mobile Safari zu sein und arbeitet als auf die neuesten Versionen von Desktop erwartet Safari, Firefox, Chrome, Androids WebView usw.
Testseite: http://devpublic.blob.core.windows.net/scriptstest/index.html
Ps .: Ich habe das mit verschiedenen Geräten am bannerstack getestet und auch die Screenshots gemacht, da ich kein aktuelles iDevice zur Hand habe.
[Die Lösung] (http://stackoverflow.com/a/23083463/1273551) im erwähnten Thread löste einen Teil meines Problems, der beim Drehen des Gerätes auftrat. Da ich tatsächlich Zugriff auf die Quellen des IFrame-Inhalts habe, war ich in der Lage, meine Höhenprobleme zu lösen, indem ich die Höhe des IFrame-Rumpfs auf die gleiche Höhe festlegte, die ich auf dem IFrame selbst eingestellt hatte. – suamikim