Как я могу масштабировать содержание iframe?

В последних версиях XAMPP для Windows запускается PHP 7.x, которые НЕ совместимы с mbcrypt. Если у вас есть пакет Laravel, который требует mbcrypt, вам нужно будет установить более старую версию XAMPP. ИЛИ, вы можете запустить XAMPP с несколькими версиями PHP, загрузив пакет PHP из Windows.PHP.net, установив его в свою папку XAMPP и настроив php.ini и httpd.conf, чтобы использовать правильную версию PHP для вашего сайта.

217
задан Damjan Pavlica 8 December 2014 в 00:37
поделиться

7 ответов

Как сказано, я сомневаюсь, что можно сделать это.
, Возможно, можно масштабировать, по крайней мере, сам текст путем установки стиля font-size: 80%;.
Непротестированный, не уверенный это работает и не изменит размеры полей или изображений.

0
ответ дан PhiLho 23 November 2019 в 04:14
поделиться

Я не думаю, что HTML имеет такую функциональность. Единственная вещь, которую я могу вообразить, добилась бы цели, должен сделать некоторую обработку серверной стороны. Возможно, Вы могли получить снимок изображения веб-страницы, Вы хотите служить, масштабировать ее на сервере и служить ей клиенту. Это было бы неинтерактивной страницей как бы то ни было. (возможно, карта изображения могла иметь ссылку, но все еще.)

Другая идея состояла бы в том, чтобы иметь компонент серверной стороны, который изменит HTML. Вид подобных функция масштабирования firefox 2.0. это, конечно, не идеальное изменение масштаба, но лучше чем ничего.

Кроме этого, я вне идей.

0
ответ дан Alexandros Marinos 23 November 2019 в 04:14
поделиться

Если Ваш HTML разрабатывается с css, можно, вероятно, связать различные таблицы стилей для различных размеров.

1
ответ дан Jon 23 November 2019 в 04:14
поделиться

Я думаю, что можно сделать это путем вычисления высоты и ширины, которую Вы хотите с JavaScript (через document.body.clientWidth и т.д.) и затем введение iframe в Ваш HTML как это:

var element = document.getElementById("myid");
element.innerHTML += "<iframe src='http://www.google.com' height='200' width='" + document.body.clientWidth * 0.8 + "'/>";

я не протестировал это в IE6, но это, кажется, работает с хорошими:)

4
ответ дан Eric Wendelin 23 November 2019 в 04:14
поделиться

HTML {zoom:0.4;}?-)

7
ответ дан roenving 23 November 2019 в 04:14
поделиться

Я нашел решение, которое работает в IE и Firefox (по крайней мере, в текущих версиях). В Safari/Chrome размер iframe изменяется до 75% от первоначального размера, но содержимое iframe вообще не масштабируется. В Opera это не работает. Это немного эзотерически, поэтому, если есть лучший способ сделать это, я бы приветствовал предложения.

<style>
#wrap { width: 600px; height: 390px; padding: 0; overflow: hidden; }
#frame { width: 800px; height: 520px; border: 1px solid black; }
#frame { zoom: 0.75; -moz-transform: scale(0.75); -moz-transform-origin: 0 0; }
</style>

...

<p>Some text before the frame</p>
<div id="wrap">
<iframe id="frame" src="test2.html"></iframe>
</div>
<p>Some text after the frame</p>
</body>

Примечание: для Firefox пришлось использовать элемент wrap . Почему-то в Firefox при масштабировании объекта на 75% он по-прежнему использует исходный размер изображения по причинам макета. (Попробуйте удалить div из примера кода выше, и вы увидите, что я имею в виду.)

Я нашел некоторые из этого этот вопрос .

55
ответ дан 23 November 2019 в 04:14
поделиться

Решение Кипа должно работать в Opera и Safari, если вы измените CSS на:

<style>
    #wrap { width: 600px; height: 390px; padding: 0; overflow: hidden; }
    #frame { width: 800px; height: 520px; border: 1px solid black; }
    #frame {
        -ms-zoom: 0.75;
        -moz-transform: scale(0.75);
        -moz-transform-origin: 0 0;
        -o-transform: scale(0.75);
        -o-transform-origin: 0 0;
        -webkit-transform: scale(0.75);
        -webkit-transform-origin: 0 0;
    }
</style>

Вы также можете указать overflow: hidden в #frame для предотвращения полос прокрутки.

216
ответ дан 23 November 2019 в 04:14
поделиться