Изменение размера окна просмотра в iFrame - PullRequest
7 голосов
/ 26 мая 2011

Я пытаюсь создать Карусель в Сенче, которая отображает фреймы.
Основная идея заключается в том, что у меня уже есть набор файлов HTML, уже настроенных для просмотра на iPad.
Таким образом, файлы имеют видовой экрани все настроено.

Я создал простой карусель, подобный этому:

var rootPanel;
Ext.setup({
    onReady: function() {
        rootPanel = new Ext.Carousel({
            fullscreen: true,
            layout: 'card',
            items: [
                { html: '<iframe src="http://localhost/file1.html">' },
                { html: '<iframe src="http://localhost/file2.html">' },
                { html: '<iframe src="http://localhost/file3.html">' },
            ]
        });
    }
});

Сами файлы HTML выглядят так:

<!DOCTYPE html>
  <html>
    <head>
        <title>Untitled Page</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta name="viewport" content="width=device-width; initial-scale=0.5; minimum-scale=0.5; maximum-scale=1.0;user-scalable=no">
    </head>
    <body>
        <div id="container">
            <div style="margin:0;padding:0;position:absolute;left:0px;top:0px;width: 1536px; height: 2048px;text-align:left;z-index:0;">
                <img src="image.jpg" style="width: 1536px; height: 2048px;"></div>
        </div>  
    </body>
</html>

Системная сортировкаработ, за исключением того, что область просмотра не соблюдается, а внутренняя часть iframe не уменьшается, как это должно быть.Есть идеи?

Ответы [ 2 ]

0 голосов
/ 11 августа 2016

Установить 100% для iframe и внутреннего html

var rootPanel;
Ext.setup({
    onReady: function() {
        rootPanel = new Ext.Carousel({
            fullscreen: true,
            layout: 'card',
            cls: 'some-cards',
            items: [
                { html: '<iframe width="100%" height="100%" src="http://localhost/file1.html">' },
                { html: '<iframe width="100%" height="100%" src="http://localhost/file2.html">' },
                { html: '<iframe width="100%" height="100%" src="http://localhost/file3.html">' },
             ]
        });
    }
});

И вы могли бы связать что-то вроде этого.

.some-cards .x-innerhtml {
    height: 100%;
}
0 голосов
/ 26 февраля 2012

Я не знаком с sencha, но у iframes нет возможности установить высоту в процентах (100%). Поэтому, если sencha устанавливает ширину и высоту на 100%, он не будет расширяться по вертикали, но должен заполнить родительский элемент по горизонтали.

Это то, что вы видите?

Попробуйте вручную установить высоту iframe на достаточно большой размер в пикселях. Если у вас есть контроль над содержимым iframe, вы можете добавить немного javascript для связи с родителем и сказать ему, чтобы он соответствующим образом изменил размер.

...