Здесь много неправильного.
Во-первых, вы не можете так смешивать PHP и JavaScript.Весь PHP обрабатывается до его отправки в браузер, а весь JavaScript обрабатывается после отправки в браузер.Все, что вы делаете, это назначаете эти буквенные строки на $sizeh
и $sizew
.Эти переменные будут , а не содержать размеры области просмотра, поскольку эти значения могут быть созданы только с помощью JavaScript, что происходит после выполнения вашего PHP-кода.
Также вы можете 'использовать переменные PHP вне PHP.Как только вы закончите синтаксический анализ PHP с помощью ?>
, вы перестанете работать в PHP, и к переменным больше не будет доступа.
Вам необходимо выводить переменные PHP из тегов <?php
и ?>
.Например:
<iframe id="frame2"
src=" <?php echo $row['url']; ?>"
height="<?php echo $sizeh; ?> px"
width="<?php echo $sizew; ?> px"
>
</iframe>
Но опять же, эти переменные не имеют того, что, как вы думаете, они содержат.Вам нужно либо установить эти переменные так, чтобы они имели целочисленные значения изнутри PHP, либо вам нужно собрать все целиком и установить iframe
измерения, используя только JavaScript.
Редактировать: I 'Я не очень хорош с JavaScript, поэтому почти наверняка есть лучший способ сделать это (* кашель * jQuery * кашель *), но это должно работать хорошодостаточно:
Во-первых, вам нужно создать функцию JavaScript внутри блока <script>
в разделе <head>
.Назовите это что-то вроде resize_iframe
.В этой функции вы захватите элемент <iframe>
и установите его размер:
<script type="text/javascript">
function resize_iframe() {
var iframe = document.getElementById("my_iframe");
iframe.style.height = viewportheight + "px";
iframe.style.width = viewportwidth + "px";
}
</script>
Затем в разделе <body>
вы создадите HTML-страницу как обычно.Здесь нужно быть осторожным при создании элемента <iframe>
, вам необходимо:
- Убедитесь, что вы присваиваете элементу значение идентификатора, совпадающее с тем, которое выиспользуется в функции JavaScript
- При установке атрибута
src
в iframe, вы должны помнить, что нужно обернуть эхо PHP в теги <?php
и ?>
Likethis:
<iframe id="my_iframe"
src="<?php echo $row['url']; ?>"
></iframe>
Наконец, вы хотите вызвать функцию resize_iframe
из блока <javascript>
, который происходит после загрузки остальной части документа.Например, поместите его прямо перед закрывающим тегом </body>
для документа.Таким образом, браузер уже создал элемент <iframe>
, который вы захватываете, поэтому он будет существовать для изменения JavaScript.Когда эта функция запустится, она изменит размер <iframe>
:
<script type="text/javascript"> resize_iframe(); </script>
</body>
Еще одна вещь: я не уверен, откуда вы получаете значения для viewportwidth
и viewportheight
, но это не таквстроенные переменные для JavaScript.Я могу только предположить, что у вас есть другой код, который создает эти значения.Если нет, вам нужно будет написать это.