2011-02-08 2 views
1

На странице .aspx с кодом VB.NET я использую IFRAME, который будет создан внутри элемента управления ретранслятора.Как изменить размер IFRAME при загрузке на странице .aspx?

Поскольку я хочу изменить размер IFRAME на основе содержимого на странице, я использовал функцию изменения размера obtained from here при загрузке IFRAME, как показано ниже.

<iframe id="IframeSubsectionArea" scrolling="auto" width="100%" onload="resizeIframeToFitContent(this)" runat="server">

Однако это бросает ошибку как метод не может быть найден в форме.

  1. Есть ли вариант сценария на стороне клиента для события onload?
  2. Что может быть причиной ошибки и ее решения?

ответ

3

Если вы не возражаете, используя JQuery первый ответ здесь должен сделать трюк jQuery .ready in a dynamically inserted iframe

$(document).ready(function() { 
    $("iframe").load(function() { 
     var iframe = $(this); 

     //Do your resize here via the iframe var 
    }); 
}); 

В противном случае, вы можете получить ошибку из-за этого блока кода, отсутствующего в ваш документ, однако, поскольку вы не опубликовали фактическую ошибку, я не могу быть уверен.

<SCRIPT LANGUAGE="JavaScript"> 
function resizeIframeToFitContent(iframe) { 
    // This function resizes an IFrame object 
    // to fit its content. 
    // The IFrame tag must have a unique ID attribute. 
    iframe.height = document.frames[iframe.id] 
        .document.body.scrollHeight; 
} 
</SCRIPT> 

Edit: Если это не работает, размещать некоторые примеры кода, и фактическая ошибка вы получаете

+0

Как я не мог реализовать предложение в приложении в целом идея была понижена. Однако предложение сработало. Спасибо, Хоксби. +1 для этого. – balu