2008-09-18 4 views
1

Я показываю страницы с внешнего сайта (который у меня есть) в iframe на одной из моих страниц. Все в порядке, если только в Opera не уменьшен размер окна браузера (не широкоэкранный), когда iframe сжимает и выдает содержимое. Он работает в широкоэкранном режиме (максимизирует окно браузера), и в IE7, Firefox, Chrome и Safari работает нормально, чтобы увеличить и уменьшить размер окна. Я установил размеры рамки в HTML и вложил iframe в div, который больше, чем iframe через css.iframe sizing - cross browser issue

Является ли это своеобразной ошибкой для Opera или есть что-то, что я могу с этим поделать?

ответ

1

У нас была аналогичная проблема с размером iframe на главной странице нашего веб-приложения, хотя в IE6. Решение заключалось в том, чтобы уловить событие window.onresize и вызвать функцию JavaScript для соответствующего размера iframe. content - это имя iframe, мы хотим размера. Также обратите внимание, что мы используем ASP.Net AJAX's $get, который переводит на document.getElementById()

window.onresize=resizeContentFrame; 
resizeContentFrame(); 

function resizeContentFrame() { 
    setFrameHeight($get('content')); 
} 

function setFrameHeight(f) { 
    if(isDefined(f)) { 
     var h=document.documentElement.scrollHeight; 
     h-=(HEADER_HEIGHT+CONTENT_PADDING+5); 
     f.style.height=h+'px'; 
    } 
}