imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 07.04.2004, 01:46     # 1
Anthony
Newbie
 
Регистрация: 05.04.2004
Сообщения: 39

Anthony Путь к славе только начался
Как задать высоту Iframe?

Подскажите, люди, как сделать так, высоту IFRAME, равной его содержимому?
Указать в процентах-пикселях не могу - фиг его знает, что в него загружать прийдется, а штучки типа Overflow:visible не работают
Anthony вне форума  
Старый 07.04.2004, 02:43     # 2
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Я сам задавался этим вопросом долгое время и так ничего и не нашел, да и вопрос такой уже поднимался тут на форуме....
Но вот недавно натолкнулся на такую вещь, попоробуй использовать document.body.scrollWidth и document.body.scrollHeight соответственно для загруженного документа чтобы определить его размер - ну а дальше дело техники ресайзить, я сам не пробовал, но по идее должно работать!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 07.04.2004, 22:56     # 3
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Ребята, вас не ломает таким гемороем страдать? Подгрузили в iframe, что нужно, а там *.cloneNode() и в основной документ.
RaZEr вне форума  
Старый 08.04.2004, 00:02     # 4
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
2RaZEr чего-то я не понял как с помощью этой функции решить поставленную задачу изменения размера ифрейма?
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 08.04.2004, 05:24     # 5
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Цитата:
чего-то я не понял
мои соболезнования ...
RaZEr вне форума  
Старый 08.04.2004, 14:16     # 6
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
RaZEr:
мои соболезнования
Извините, конечно... но может лучше ваши объяснения?!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 08.04.2004, 21:33     # 7
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
http://www.imho.ws/showthread.php?s=&postid=378804
RaZEr вне форума  
Старый 08.04.2004, 23:27     # 8
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
2RaZEr Если последний пост был мне, то я теперь решительно запутался: в данном топике решается совсем иная задача никак не связанная с определением высоты фрейма (а именно такая стояла задача сдесь). Если Вы указывали на объяснение использования *.cloneNode() - то я и сам вкурсе что это такое и с чем его едят. И не в ограничениях хостинга проблема (у меня платный хостинг, есть и SSI, и PHP и все что надо...) просто как решить поставленную в данном топике проблему????
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 09.04.2004, 00:10     # 9
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
А почему именно я так пристал к данному вопросу я все-таки объясню - мне тоже было бы очень неплохо решить подобную проблему.
Конкретный пример (точнее конкретно стоящая передо мной задача): Есть сайт, все сделано на инклюдах, но в одну из страниц вставлено голосование, для того чтобы не обновлять всю страницу из-за ответа (что сильно раздражает пользователей) голосование находится в теге <iframe>. Я написал что-то вроде CMS для своего сайта, поэтому создание и управление голосованиями происходит из формы управления, где количество ответов заранее не задано. Так как голосование находится в контексте страницы, то присутствие полос прокрутки очень нежелательно. Сейчас после создания голосования параметры тега <iframe> подбираются руками после каждого изменения, более того, если пользователь изменит размер браузера, то тоже ничего хорошего не выйдет. Посему я и хочу сделать размеры фрейма в зависимости от ФАКТИЧЕСКОЙ высоты и ширины содержания фрейма!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.

Последний раз редактировалось RaZEr; 09.04.2004 в 00:21.
Hubbitus вне форума  
Старый 09.04.2004, 00:35     # 10
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Я говорю о том, что проще подгружать то же голосование в невидимый фрейм, а потом из него, при помощи cloneNode() вставлять в основной документ. Это решает все проблемы с высотой, шириной и т.д.
RaZEr вне форума  
Старый 09.04.2004, 17:19     # 11
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
RaZer

Дай пример а..
а то мы ламеры.. твои короткие и умные ответы не сразу рубим
shuron вне форума  
Старый 09.04.2004, 17:39     # 12
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
RaZEr:
а потом из него, при помощи cloneNode() вставлять в основной документ. Это решает все проблемы с высотой, шириной и т.д.
Это решает отнюдь не все проблемы - и появляются новые:
1) Обеспечение полной совместимости со всеми браузерами
2) При голосовании опять же должна быть перезагрузка сначала фрейма, потом перенос на место
3) И, наверное главное: при загрузке сайта, пока полностью не загрузится невидимый фрейм - сильно может расползтись структура и дизайн сайта, т.к. там не будет ничего сначала, а потом оно будет разъезжаться!!!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 12.04.2004, 04:37     # 13
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Цитата:
Это решает отнюдь не все проблемы - и появляются новые
... высосанные из пальца
RaZEr вне форума  
Старый 12.04.2004, 21:16     # 14
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Итак, проблемы реальные....
Помочь посуществу нам так и не помогли...
Поэтому разбираться пришлось самому...
Итак, Anthony, я был не совсем прав в первом своем посте: document.body.scrollHeight - заданная высота фрейма (ну тоесть какая сейча у него она фактическая), а нужно нам document.body.offsetHeight - это какраз "полезная высота", тоесть сколько занимает содержимое фрейма!!!
Никакие листинги приводить не буду, потому что дальше дело техники - пишется функция из одной строчки и вешается на событие onload() основного документа. Вот и все!!!

Как всегда оказалось что самое лучшее решение на поверхности!!!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 13.04.2004, 12:01     # 15
Anthony
Newbie
 
Регистрация: 05.04.2004
Сообщения: 39

Anthony Путь к славе только начался
Огромное спасибо, Hubbitus. То что document.body.scrollHeight отвечает за реально имеющиеся размеры я в ходе эксперимента уже установил. Теперь начну учить document.body.offsetHeight.

И еще вопрос в догонку:
В какой книжке можно сие знание почерпнуть. Так, на будущее, а то в моей таких умных слов нету, а быть умным иногда так хочется.....

Последний раз редактировалось Anthony; 13.04.2004 в 12:05.
Anthony вне форума  
Старый 13.04.2004, 12:34     # 16
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Если я что-то непонятно написал, то не стесняйся справшивать (можешь в привате или по асе..)...
Кстати, если тебе (или кому-то другому) надо то я могу выслать код примера, или сдесь выложить... я просто не думаю что это целесообразно.


А вообще я очень люблю последнее время вот этот справочник
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 14.04.2004, 14:53     # 17
Anthony
Newbie
 
Регистрация: 05.04.2004
Сообщения: 39

Anthony Путь к славе только начался
scrollHeight or offsetHeight

scrollHeight or offsetHeight - this is the question.......

И, все-таки, я его почти сделал! Только вот удалось сие именно через scrollHeight. Одно "но" имеется: напихал я в body из фрейма 38 килопапугаев текста, а scrollHeight посчитал его за одну строчку... Короче, затолкав текст в div, мне почти удалось достичь результата с какой-то идиотской погдешностью в 0.5-5.0 строчек. Да здравствует метод научного тыканья и стольник мартышек-машинисток!

Из, подвергавшихся исследованию scrollHeight, оffsetHeight & clientHeight:
scrollHeight - приблизительно выдает "полезную" высоту.
оffsetHeight - "действительные" размеры.
clientHeight - чуть меньше, чем предыдущий, так что, очевидно, то же самое, только с учетом полей - а то я сам посчитать не мог?(кстати, жаль Нетскейпа нету - проверить, а то прошлый раз он мне клиентскую ширину вместе со скроллингом посчитал)
Anthony вне форума  
Старый 14.04.2004, 15:24     # 18
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Anthony:
И, все-таки, я его почти сделал!
А я полностью сделал!!! И с точностью до пиксела!

Цитата:
Anthony:
scrollHeight
Как я понял этот параметр именно позиция скроллинга. Поэтому и проблема со строцкой возникла!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 14.04.2004, 17:27     # 19
Anthony
Newbie
 
Регистрация: 05.04.2004
Сообщения: 39

Anthony Путь к славе только начался
Сдаюсь!

ОК, блин! Сдаюсь.
Пишу в ифреймовском хтмльнике на onload тега body:
top.document.getElementById('ifr').style.height=document.body.scrollHe ight;
и опять остается скролл на пару строк. Что и как надо было?



В iframe я подгружал эту же страничку, так она заканчивается на чубчике того колобка, что нарисован на нижнем баннере.

Последний раз редактировалось Anthony; 14.04.2004 в 17:31.
Anthony вне форума  
Старый 14.04.2004, 22:51     # 20
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Anthony:
Пишу в ифреймовском хтмльнике на onload тега body:
Я тоже сначала так делал, но потом понял что гораздо удобнее это делать на странице, содержащей фрейм, ведь содержимое фрейма меняется, а ее нет и придется тогда скрипт дописывать во все документы которые грузятся во фрейме!

Цитата:
Anthony:
top.document.getElementById('ifr').style.height=document.body.scrollHe ight;
Я это сделал так:
document.getElementById('myframe').height=document.getElementById('myf rame').document.body.offsetHeight;
И никакого скрола у меня нету! Только учти я сдесь для примера жестко задал ширину фрейма, и никак не учитываю ее, если нужно, то неоюходимо как-то обрабатывать изменение обоих измерений... (думаю что не сложно)

Цитата:
Anthony:
В iframe я подгружал эту же страничку, так она заканчивается на чубчике того колобка, что нарисован на нижнем баннере.
Это я совсем не понял!!! Какую "эту же"? Какой чубчик, какого колобка???....
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 01:30.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.