Показать сообщение отдельно
  #3 (permalink)  
Старый 26.11.2010, 14:52
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Сообщение от Маэстро Посмотреть сообщение
Некоторые броузеры в некоторых случаях не отображают графический элемент (например, DIV) если в нём нет никакого текста, или отсутствует заданный цвет фона. То есть, надо в него вставить хотя бы 1 пробел. Причём не обычный, а "неразрывный" - это   или в UTF-8 код 0A.
Иногда, чтобы быть железно уверенным, что ничто не подпортит результат я ставлю стиль font-size:0px

И не делайте div.setAttribute('style', '...') - в IE с этим проблемы
делайте div.style.cssText = '...'
Сделал:
scrW = (panel.OS.isLinux)? 15: 17;
    var div = document.createElement('div');
    div.innerHTML = ' '
    var styles = 'position:absolute; top:-20px; left: -20px; overflow:scroll; background:white;font-size:0';
    if (isIE)
        div.style.cssText = styles;
    else
        div.setAttribute('style', styles);
    document.body.appendChild(div);
    alert(div.offsetWidth+' - '+scrW );
    if (div.offsetWidth > 9)
       scrW  = div.offsetWidth;

Теперь вместо "0" Хром пишет "1". =\
Ну и старые версии IE вместо четырехзначного числа пишут 1.

Цитата:
первый вариант:
убираете в фрейме скроллер, вставляете в фрейм DIV со скроллерами, а в этот DIV свою информацию.

второй вариант:
ставите в тело фрейма абсолютно позиционированный DIV с размерами, превышающими на 1 px размеры фрейма.

Возможно, Вам также потребуется обнулить во фрейме margin и border.
Не имею доступа к ифрейму.
Ответить с цитированием