Это изоляция большей проблемы.Я работаю с родительским окном, которое содержит iframe
.
Когда я запускаю следующий код на своем мобильном телефоне Android
(протестирован с Chrome), я получаю всплывающее окно с 300 , 300
, как и ожидалось.То же самое происходит на моем настольном компьютере (с любым браузером: Firefox, Chrome и т. Д.).
Но когда я делаю то же самое с IPhone / Safari
или IPhone / Chrome
, я получаю: 700 , 700
.
Мне нужно получить: 300 , 300
на моем IPhone
независимо от размера, который я установил на .frame
.Другими словами, мне нужен размер области просмотра, который установлен в родительском окне.
Если вы хотите быстро попробовать то, что я имею в виду (Android or Desktop
против iPhone
), вы можете запустить следующееНапример, где вы увидите, что на iPhone
вы получите: 700 , 700
где это должно быть 300, 300
:
var content_iframe = '<!DOCTYPE html>'+
'<html>'+
'<head>'+
'<meta name="viewport" content="width=device-width, initial-scale=1" \/>'+
'<meta charset="UTF-8" \/>'+
'<title>IFrame<\/title>'+
'<style type="text\/css">'+
'body, html {'+
' margin: 0;'+
' padding: 0;'+
' overflow: hidden;'+
'}'+
'.frame {'+
' position: absolute;'+
' width: 700px;'+ // I need this to be ignored!
' height: 700px;'+ // I need this to be ignored!
'}'+
'<\/style>'+
'<script type="text\/javascript">'+
'setTimeout(function(){'+
' var width = window.innerWidth;'+
' var height = window.innerHeight;'+
' alert(width + " , " + height);'+
'}, 500);'+
'<\/script>'+
'<\/head>'+
'<body>'+
' <div class="frame"><\/div>'+
'<\/body>'+
'<\/html>';
document.getElementById('test_iframe').src = "data:text/html;charset=utf-8," + escape(content_iframe);
iframe {
/* this is what I need to be output */
border: none;
width: 300px;
height: 300px;
background-color: #e9f1ff;
}
<iframe id="test_iframe"></iframe>
Просто, если вы не можете запустить приведенный выше пример на вашем iPhone
прямо здесь со встроенным бегунком, вы можете попробовать JSFiddle
бегун здесь:
https://jsfiddle.net/ssbo3dh8/
Не могли бы вы предоставить мне JSFiddle
с рабочим кодом для iPhone
на основе моего кода выше? Я имею в виду, просто делаянеобходимые модификации?
Есть идеи, как получить эту работу?
Спасибо!