Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 23 Май, 2012, 12:45:07

Страниц: [1] 2
Печать
Автор Тема: Как подогнать высоту ифрейма под содержимое?  (Прочитано 1639 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Cheese    ↓ 
10 Декабрь, 2008, 03:35:56
НЕ ХУЕТА! ХУЕТА!

Карма: -1
Сообщений: 74
Сила слова: -1.35

В ифрейме выдается несколько страниц содержащие данные разной высоты.
Можно ли "в полете" подрегулировать фрейм под высоту содержимого?
Записан
phpdude    ↓ 
10 Декабрь, 2008, 03:38:42 , спустя 2 минуты 46 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.66

Text
<iframe onload="checksize(this);"
 
<script>
function schecksize(elem)
{
elem.style.height = elem.getElementsByTagName("body")[0].scrollHeight;
}
 

 
думаю нечто такое копать надо:)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Cheese    ↓ 
10 Декабрь, 2008, 08:45:06 , спустя 5 часов 6 минут 24 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: -1
Сообщений: 74
Сила слова: -1.35


думаю нечто такое копать надо:)
Не прошло
На:
Text
<iframe onload="checksize(this);"
IE говорит - "Предполагается наличие объекта"
Я могу предположить что у тега ифрейм нет свойства onload....
Записан
phpdude    ↓ 
10 Декабрь, 2008, 08:59:46 , спустя 14 минут 40 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.66

я предполагаю что ие не понимает слово this для ифрейма чтоли(
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Cheese    ↓ 
10 Декабрь, 2008, 10:19:29 , спустя 1 час 19 минут 43 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: -1
Сообщений: 74
Сила слова: -1.35

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

Text

<script language="javascript" type="text/javascript">
function iFrameHeight() {
    var h = 0;
    if ( !document.all ) {
        h = document.getElementById('blockrandom').contentDocument.height;
        document.getElementById('blockrandom').style.height = h + 60 + 'px';
    } else if( document.all ) {
        h = document.frames('blockrandom').document.body.scrollHeight;
        document.all.blockrandom.style.height = h + 20 + 'px';
    }
}
</script>
 
<iframe
    id="blockrandom"
    name="iframe"
    src=НашаСцылко
    width="100%"
    onload="iFrameHeight()"
    scrolling="no"
    align="top"
    frameborder="0"
    >
 
Работает во всех браузерах(включая хром и сафари) кроме Оперы...
Тому кто придумает как подружить это с музыкальным браузером будет вечный респект :)
« Последнее редактирование: 10 Декабрь, 2008, 10:25:06 от Cheese » Записан
phpdude    ↓ 
10 Декабрь, 2008, 10:24:51 , спустя 5 минут 22 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20780
Сила слова: 1.66


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

<script language="javascript" type="text/javascript">
function iFrameHeight() {
    var h = 0;
    if ( !document.all ) {
        h = document.getElementById('blockrandom').contentDocument.height;
        document.getElementById('blockrandom').style.height = h + 60 + 'px';
    } else if( document.all ) {
        h = document.frames('blockrandom').document.body.scrollHeight;
        document.all.blockrandom.style.height = h + 20 + 'px';
    }
}
</script>
 
<iframe
    id="blockrandom"
    name="iframe"
    src=НашаСцылко
    width="100%"
    onload="iFrameHeight()"
    scrolling="no"
    align="top"
    frameborder="0"
    >
 

интересно чем это отличается от моего решения :-D
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Cheese    ↓ 
10 Декабрь, 2008, 10:27:37 , спустя 2 минуты 46 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -1
Сообщений: 74
Сила слова: -1.35


интересно чем это отличается от моего решения :-D
Честно? Низнаю.... Но это работает... А Ваш вариант не проходил.... Может я чегой-то криво скопипастил... Низнаю
Насчет оперы есть идеи?
Записан
phpdude    ↓ 
10 Декабрь, 2008, 10:29:18 , спустя 1 минуту 41 секунду
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20780
Сила слова: 1.66



интересно чем это отличается от моего решения :-D
Честно? Низнаю.... Но это работает... А Ваш вариант не проходил.... Может я чегой-то криво скопипастил... Низнаю
Насчет оперы есть идеи?
может и криво, ибо я только недоделанный пример написал, где надо было теги проставить да указать че нить по мелочи :) короче "натолкнул на мысль" (с). у жумлы решение точно такое же.
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Cheese    ↓ 
10 Декабрь, 2008, 10:35:33 , спустя 6 минут 15 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -1
Сообщений: 74
Сила слова: -1.35


у жумлы решение точно такое же.
получается, что те кто юзает динамические враперы в джумле 1.5 попадают на грабли с оперой 9.6х?
 
... проверил ...точно попадалово
« Последнее редактирование: 10 Декабрь, 2008, 10:39:29 от Cheese » Записан
phpdude    ↓ 
11 Декабрь, 2008, 12:47:35 , спустя 2 часа 12 минут 2 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20780
Сила слова: 1.66



у жумлы решение точно такое же.
получается, что те кто юзает динамические враперы в джумле 1.5 попадают на грабли с оперой 9.6х?
 
... проверил ...точно попадалово
 
опера это вообще попадалово. нелюблю этот браузер со времен когда их доля рынка была ~ 0
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Spawn    ↓ 
13 Август, 2009, 02:24:40 , спустя 245 дней 12 часов 37 минут 5 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 1
Сила слова: 0


Работает во всех браузерах(включая хром и сафари) кроме Оперы...
Тому кто придумает как подружить это с музыкальным браузером будет вечный респект :)
 
А вот и решение, ребяточки ;)
 
Вместо
Text

<script language="javascript" type="text/javascript">
function iFrameHeight() {
    var h = 0;
    if ( !document.all ) {
        h = document.getElementById('blockrandom').contentDocument.height;
        document.getElementById('blockrandom').style.height = h + 60 + 'px';
    } else if( document.all ) {
        h = document.frames('blockrandom').document.body.scrollHeight;
        document.all.blockrandom.style.height = h + 20 + 'px';
    }
}
</script>
 
Пишем
Text

<script language="javascript" type="text/javascript">
function iFrameHeightX( iFrameId ) {
    var h = 0;
     if ( document.all || document.getElementById ) {
        h = document.frames(iFrameId).document.body.scrollHeight;
        document.all[iFrameId].style.height = h + 'px';
    }
}
</script>
 

Теперь работает и EI и Opera. На других не проверял. И ещё: этот код из джумлы 1.0, а написанный выше из 1.5. Надеюсь кому-нить это поможет.
 
Записан
Givi    ↓ 
13 Август, 2009, 03:01:52 , спустя 37 минут 12 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82


Теперь работает и EI и Opera. На других не проверял. И ещё: этот код из джумлы 1.0, а написанный выше из 1.5. Надеюсь кому-нить это поможет.
Дуд прав - Джумла-разработчики таки долбоёбы. Нахера было изменять код, который работал нормально везде (как указано постом выше) и заменять на полурабочий!?
Записан

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
CTAPbIu_MABP    ↓ 
13 Август, 2009, 03:08:11 , спустя 6 минут 19 секунд
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

Дуд прав - Джумла-разработчики таки долбоёбы. Нахера было
использовать document.all и document.frames
Записан

java.lang.OutOfMemoryError
phpdude    ↓ 
13 Август, 2009, 03:11:54 , спустя 3 минуты 43 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20780
Сила слова: 1.66

я бы остановился тут
 
Дуд прав - Джумла-разработчики таки долбоёбы
(с) дуд
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
CTAPbIu_MABP    ↓ 
13 Август, 2009, 03:15:55 , спустя 4 минуты 1 секунду
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

Джумла-разработчики такие Джумла-разработчики....
Записан

java.lang.OutOfMemoryError
Страниц: [1] 2
Печать
 

Перейти в: