Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: iframe
 
 автор: Smak   (09.12.2005 в 19:39)   письмо автору
 
 

Даже не знаю как спросить =)
Вообщем есть страница, её надо запихнуть в ифрейм, притом так, чтобы высота ифрейма автоматом изменялась под высоту страницы - т.е. чтобы небыло верт. скрола. Задать высоту в грузимой =) странице нельзя. Вотъ.

   
 
 автор: Евгений Петров   (09.12.2005 в 19:46)   письмо автору
 
   для: Smak   (09.12.2005 в 19:39)
 

А зачем именно iframe? Если Вам нужно только скролл убрать на странице, но в теге <body> напишите
<body scroll="no">

   
 
 автор: 12345   (09.12.2005 в 20:04)   письмо автору
 
   для: Smak   (09.12.2005 в 19:39)
 

Читайте о том, как получать размеры документа (который внутри iframe), слоя (iframe) - и вперёд. http://www.kruglov.ru/articles/crossbrowserdhtml/

   
 
 автор: Smak   (10.12.2005 в 16:29)   письмо автору
 
   для: 12345   (09.12.2005 в 20:04)
 

Спасиба за ссылку, токо там я уже был, и не очень-то понял. Че, куда писать?
<iframe width=100% height=??? src="..."></iframe>

   
 
 автор: ruark   (10.12.2005 в 17:59)   письмо автору
 
   для: Smak   (09.12.2005 в 19:39)
 

Даже не знаю, возможно такое в html.

Я так понял, ваша проблема заключается в том, чтобы iframe автоматически менял высоту, в зависимости, какую страницу он внутри себя подгружает?

Я думаю, такое в iframe не сделаешь, я подобное в php или ssl делаю. Попробуй вставлять другую страницу при помощи пхп, тут просто

<?php
include("name.htm");
?>


Главное, чтобы сервак поддерживал пхп и расширение основного файла, где будет этого код было *.php

   
 
 автор: Smak   (10.12.2005 в 22:06)   письмо автору
 
   для: ruark   (10.12.2005 в 17:59)
 

Вот в том-то и проблема, что сервак пхп не знает, поэтому страница грузится через ифрейм.
И сама страница тоже на пхп.

   
 
 автор: ruark   (11.12.2005 в 05:33)   письмо автору
 
   для: Smak   (10.12.2005 в 22:06)
 

такое в html не сделаешь. Ищи сервак с пхп.

   
 
 автор: 12345   (11.12.2005 в 05:36)   письмо автору
 
   для: Smak   (10.12.2005 в 22:06)
 

Вот, например, посмотрите, как будет работать:
<iframe width=90% height=50%
src=http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=10231></iframe>
Это простой случай без скриптов и управления высотой и положением. Можно управлять высотой и прочими параметрами, за этим я отослал на страницу Круглова. К примеру, сдвинуть вниз фрейм можно кодом:
<a href=# onclick=d.getElementById('ifr').style.top=parseInt(d.getElementById('ifr').style.top)+100;>вниз</a>
<iframe id=ifr width=90% height=50% src="javascript:document.write('вывести некоторую ссылку, хотя бы эту строку');" style=position:absolute;top:100></iframe>
<script>
d=document;d.ID=function(I){return this.getElementById(I);}
</script>

   
 
 автор: Smak   (12.12.2005 в 01:27)   письмо автору
 
   для: 12345   (11.12.2005 в 05:36)
 

Блин, как плохо жить в этом мире, когда тебя никто не понимает =(
Мне не надо прокручивать фрейм, мне надо чтобы он АВТОМАТИЧЕСКИ ПОДСТРАИВАЛСЯ ПОД РАЗМЕР ЗАГРУЖАЕМОЙ СТРАНИЦЫ
То, что можно использовать width, height я знаю, но этого мало, они работают лишь относительно главного(род.) окна

   
 
 автор: 12345   (12.12.2005 в 03:12)   письмо автору
 
   для: Smak   (12.12.2005 в 01:27)
 

Ну, и чего не достаточно?
В приведённой ссылке:
Размеры содержимого документа
MSIE, Opera 7 - document.body.scrollWidth, scrollHeight
Netscape, Mozilla - document.width, height
Opera 5, 6 - document.body.style.pixelWidth, pixelHeight

Этого мало? Загружаете документ, берёте его document.body.scrollWidth, document.body.scrollHeight (изнутри загруженного документа, а снаружи фрейма соответственно имя_фрейма_которое_name.document.body.scrollWidth или document.getElementById('имя_фрейма_которое_id').document.body.scrollWidth), затем выставляете размер фрейма, как я в примере выставил или изменял высоту.

Никто не собирается разжёвывать и в рот класть, тут программисты, а не тупые заказчики :)

   
 
 автор: Smak   (12.12.2005 в 07:16)   письмо автору
 
   для: 12345   (12.12.2005 в 03:12)
 

А мне и не надо чтобы разжевали, мне надо чтобы объяснили. По ссылке я ходил, scrollheight применил, но все равно ифрейм имеет не ту высоту которую должен. К тому же в первый раз написали что конкретно надо делать(хотя я так уже пробовал) только сейчас.
Помогите ламеру, черт подери!

   
 
 автор: 12345   (12.12.2005 в 09:05)   письмо автору
 
   для: Smak   (12.12.2005 в 07:16)
 

Объяснили = разжевали
Если надо конкретно, давайте Ваш код, чтобы 2 раза не переделывать

   
 
 автор: Smak   (12.12.2005 в 12:13)   письмо автору
 
   для: 12345   (12.12.2005 в 09:05)
 

Нет, разжевали, это когда напечатали страницу, тщательно ее пережевали, положили на сканер, отправили мне., а объяснили это когда вы просто привели мне рабочий код =)

<script>
document.writeln("<iframe frameborder=0 style='' width=100% height=" +document.body.scrollHeight+  " src='http://randomaddress.ru'></iframe>");
</script>

   
 
 автор: 12345   (12.12.2005 в 12:56)   письмо автору
 
   для: Smak   (12.12.2005 в 12:13)
 

Объясняют на русском языке (в этом форуме), а код пишут не на русском. 90% обычно так говорят: сначала "подскажите" , когда подсказали (объяснили на русском) - дайте пример. А некоторые (20-50%), когда дали пример - спрашивают - а как это будет в моём случае? :)

Так,

1) а 'http://randomaddress.ru' на вашем сайте находится? Если нет, то вся суета напрасна. По политике безопасности браузер не даст получить свойства документа. Тогда надо будет на своём сайте выполнить php-код, который сграбит страницу (file_get_contents ( string filename) ) - это объяснение, не разжёвывание), а потом выдаст страницей или кодом в странице.

2) так, как Вы написали, дело не пойдёт. Документ в фрейме ещё не создался, откуда окно и его скрипт может узнать высоту документа? А так вы обратились к высоте текущего документа, но по задаче не это нужно.

3) Если страница на вашем сайте (хосте; другими словами, надо, чтобы страница, в которой iframe, тоже была с randomaddress.ru) , получаете нужную высоту выражением

<script> 
document.writeln("<iframe id=ifr name=iframeName frameborder=0 width=100% height=150 src='http://randomaddress.ru'></iframe>"); 

function funcChangeHeight(){
...
d.getElementById('ifr').style.height=parseInt(d.getElementById('ifr').document.body.scrollHeight )+20;
}    //20 - это запас на всякие бордюры
Это выражение запускается ПОСЛЕ загрузки страницы с randomaddress.ru . В идеале - по событию <body onload=top.funcChangeHeight()>, написанному не в текущем, а в вызываемом документе (т.е. в iframe на randomaddress.ru/). (Функция funcChangeHeight() в текущем документе.)

4) также можно обратиться к фрейму по имени, как к простому фрейму, если у него будет атрибут name=iframeName . Тогда вызов высоты загруженного документа в iframe - iframeName.document.body.scrollHeight .

   
 
 автор: Smak   (12.12.2005 в 21:44)   письмо автору
 
   для: 12345   (12.12.2005 в 12:56)
 

И все-таки, как это будет в моем случае? =)

   
 
 автор: 12345   (13.12.2005 в 05:36)   письмо автору
 
   для: Smak   (12.12.2005 в 21:44)
 

В другом форуме на это отвечают, что, мол, по такому вопросу надо обращаться в раздел "Работа". :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования