2012-04-03 18 views
0

iframeにFullcalendarが開かれています。私はiFrameをリサイズする親ページ上からdyn-web.comスクリプトを持っており、これはほとんどの時間正常に動作します:FullCalendarの動的リサイズiframe

function setIframeHeight(id) { 
    var ifrm = document.getElementById(id); 
    var doc = ifrm.contentDocument ? ifrm.contentDocument : ifrm.contentWindow.document; 
    ifrm.style.visibility = 'hidden'; 
    ifrm.style.height = "10px"; 
    ifrm.style.height = getDocHeight(doc) + 5+"px"; 
    ifrm.style.visibility = 'visible'; 
} 

私はカレンダーを開くと、最初はそれがうまくリサイズし、私は別の月を選択すると、それが持っているの長いページをレンダリングすると、サイズ変更されません。

親ウィンドウでどのようにサイズ変更を呼び出すことができますか?

これは私のカレンダーの開始ですが、私はresizeを動的に呼び出す構文を理解することはできません。私は、高さパラメータでプレイしてきたが、それは動的にする必要があります。

$('#calendar').fullCalendar({ 
    month: <%=monthStart%>, 
    year: <%=yearStart%>, 
    eventSources: 
    [ 
     { url: <%=esource%>, 
      type: 'GET', 
      error: function() { 
       alert('there was an error while fetching events!'); 
      } 
      }, 

答えて

0

あなたはこのような何か実行する必要があります。

$('#calendar').fullCalendar({ 
    month: <%=monthStart%>, 
    year: <%=yearStart%>, 
    eventSources: 
    [ 
    { url: <%=esource%>, 
     type: 'GET', 
     error: function() { 
     alert('there was an error while fetching events! '); 
     }  
    }, 
    viewDisplay: function(view) { 
     parent.setIframeHeight(iframeId) ; 
    }, 

viewDisplayハンドラは毎回、月/週/日と呼ばれているがビューが変更されます。 windowResizeハンドラを使用して、実際にサイズ変更が行われた後に発生したイベントを取得することもできます。

関連する問題